{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "db4d7875",
   "metadata": {},
   "outputs": [],
   "source": [
    "#导入必要的包\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "from scipy import stats\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "from sklearn.metrics import mean_squared_error\n",
    "import pre_process"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "06323f93",
   "metadata": {},
   "outputs": [],
   "source": [
    "#读取相关文件\n",
    "train_path = '../data/train.csv'\n",
    "test_path = '../data/test.csv'\n",
    "train_data = pd.read_csv(train_path)\n",
    "test_data = pd.read_csv(test_path)\n",
    "train_data,test_data = pre_process.fill_inf(train_data,test_data)#填补inf值\n",
    "train_data,test_data = pre_process.del_singular_feature(train_data,test_data)#删除单值属性"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "718f96fb",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.feature_selection import VarianceThreshold\n",
    "from sklearn.datasets import load_iris\n",
    "\n",
    "#方差选择法，返回值为特征选择后的数据\n",
    "#参数threshold为方差的阈值\n",
    "train_data = VarianceThreshold(threshold=3).fit_transform(train_data)\n",
    "test_data = VarianceThreshold(threshold=3).fit_transform(test_data)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "73b2e681",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(150000, 48)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "71feb289",
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "'numpy.ndarray' object has no attribute 'head'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-9-ed58538b79c7>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[1;31m#查看train_data前5行对数据有一个初步的了解\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mtrain_data\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mhead\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m: 'numpy.ndarray' object has no attribute 'head'"
     ]
    }
   ],
   "source": [
    "#查看train_data前5行对数据有一个初步的了解\n",
    "train_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "a483c073",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "numerical_fea: ['main_account_loan_no', 'main_account_active_loan_no', 'main_account_overdue_no', 'main_account_outstanding_loan', 'main_account_sanction_loan', 'main_account_disbursed_loan', 'sub_account_loan_no', 'sub_account_active_loan_no', 'sub_account_overdue_no', 'sub_account_outstanding_loan', 'sub_account_sanction_loan', 'sub_account_disbursed_loan', 'disbursed_amount', 'asset_cost', 'branch_id', 'supplier_id', 'manufacturer_id', 'area_id', 'employee_code_id', 'Driving_flag', 'passport_flag', 'credit_score', 'main_account_monthly_payment', 'sub_account_monthly_payment', 'last_six_month_new_loan_no', 'last_six_month_defaulted_no', 'average_age', 'credit_history', 'enquirie_no', 'loan_to_asset_ratio', 'total_account_loan_no', 'sub_account_inactive_loan_no', 'total_inactive_loan_no', 'main_account_inactive_loan_no', 'total_overdue_no', 'total_outstanding_loan', 'total_sanction_loan', 'total_disbursed_loan', 'total_monthly_payment', 'outstanding_disburse_ratio', 'main_account_tenure', 'sub_account_tenure', 'disburse_to_sactioned_ratio', 'active_to_inactive_act_ratio', 'Credit_level', 'employment_type', 'age', 'loan_default']\n",
      "category_fea: []\n"
     ]
    }
   ],
   "source": [
    "numerical_fea = list(train_data.select_dtypes(exclude=['object']).columns) \n",
    "category_fea = list(filter(lambda x: x not in numerical_fea,list(train_data.columns)))\n",
    "print(\"numerical_fea:\",numerical_fea)\n",
    "print(\"category_fea:\",category_fea)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "fca14eff",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "numerical_fea中的numerical_serial_fea: ['main_account_loan_no', 'main_account_active_loan_no', 'main_account_overdue_no', 'main_account_outstanding_loan', 'main_account_sanction_loan', 'main_account_disbursed_loan', 'sub_account_loan_no', 'sub_account_active_loan_no', 'sub_account_outstanding_loan', 'sub_account_sanction_loan', 'sub_account_disbursed_loan', 'disbursed_amount', 'asset_cost', 'branch_id', 'supplier_id', 'area_id', 'employee_code_id', 'credit_score', 'main_account_monthly_payment', 'sub_account_monthly_payment', 'last_six_month_new_loan_no', 'last_six_month_defaulted_no', 'average_age', 'credit_history', 'enquirie_no', 'loan_to_asset_ratio', 'total_account_loan_no', 'sub_account_inactive_loan_no', 'total_inactive_loan_no', 'main_account_inactive_loan_no', 'total_overdue_no', 'total_outstanding_loan', 'total_sanction_loan', 'total_disbursed_loan', 'total_monthly_payment', 'outstanding_disburse_ratio', 'main_account_tenure', 'sub_account_tenure', 'disburse_to_sactioned_ratio', 'active_to_inactive_act_ratio', 'Credit_level', 'age']\n",
      "numerical_fea中的numerical_noserial_fea: ['sub_account_overdue_no', 'manufacturer_id', 'Driving_flag', 'passport_flag', 'employment_type', 'loan_default']\n"
     ]
    }
   ],
   "source": [
    "#过滤数值型类别特征 \n",
    "def get_numerical_serial_fea(data,feas): \n",
    "    numerical_serial_fea = [] \n",
    "    numerical_noserial_fea = [] \n",
    "    for fea in feas: \n",
    "        temp = data[fea].nunique() \n",
    "        if temp <= 10: \n",
    "            numerical_noserial_fea.append(fea) \n",
    "            continue \n",
    "        numerical_serial_fea.append(fea) \n",
    "    return numerical_serial_fea,numerical_noserial_fea \n",
    "numerical_serial_fea,numerical_noserial_fea = get_numerical_serial_fea(train_data,numerical_fea)\n",
    "print(\"numerical_fea中的numerical_serial_fea:\",numerical_serial_fea)\n",
    "print(\"numerical_fea中的numerical_noserial_fea:\",numerical_noserial_fea)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bb9d4df4",
   "metadata": {},
   "outputs": [],
   "source": [
    "train_data['loan_default'].value_counts()\n",
    "#逾期的占少数17.6%"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a6fe42f5",
   "metadata": {},
   "outputs": [],
   "source": [
    "columns = numerical_serial_fea\n",
    "fig = plt.figure(figsize=(80,60),dpi=75)\n",
    "for i in range(len(columns)):\n",
    "    plt.subplot(7,8,i+1)\n",
    "    sns.boxplot(train_data[columns[i]],orient='v',width=0.5)\n",
    "    plt.ylabel(columns[i],fontsize=36)\n",
    "plt.savefig('analysis_results/boxes.png')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "1f4e563f",
   "metadata": {},
   "outputs": [],
   "source": [
    "def find_outliers(model,X,y,sigma=3):\n",
    "    \n",
    "    # predict y values using model\n",
    "    try:\n",
    "        y_pred = pd.Series(model.predict(X),index=y.index)\n",
    "    # if predicting fails, try fitting the model first\n",
    "    except:\n",
    "        model.fit(X,y)\n",
    "        y_pred = pd.Series(model.predict(X),index=y.index)\n",
    "    \n",
    "    # calculate residuals between the model prediction and true y values\n",
    "    resid = y - y_pred\n",
    "    mean_resid = resid.mean()\n",
    "    std_resid  = resid.std()\n",
    "    \n",
    "    # calculate z statistic, define outliers to be where |z|>sigma\n",
    "    z = (resid-mean_resid)/std_resid\n",
    "    outliers = z[abs(z)>sigma].index\n",
    "    \n",
    "    # print and plot the results\n",
    "    print('R2=',model.score(X,y))\n",
    "    print('Mse=',mean_squared_error(y,y_pred))\n",
    "    print('-------------------------------------------------------')\n",
    "    \n",
    "    print(len(outliers),'outliers;',' ALL data shape:',X.shape)\n",
    "    \n",
    "    plt.figure(figsize=(15,5))\n",
    "    ax_131 = plt.subplot(1,3,1)\n",
    "    plt.plot(y,y_pred,'.')\n",
    "    plt.plot(y.loc[outliers],y_pred.loc[outliers],'ro')\n",
    "    plt.legend(['Accepted','Outlier'])\n",
    "    plt.xlabel('y')\n",
    "    plt.ylabel('y_pred');\n",
    "    \n",
    "    ax_132 = plt.subplot(1,3,2)\n",
    "    plt.plot(y,y-y_pred,'.')\n",
    "    plt.plot(y.loc[outliers],y.loc[outliers]-y_pred.loc[outliers],'ro')\n",
    "    plt.legend(['Accepted','Outlier'])\n",
    "    plt.xlabel('y')\n",
    "    plt.ylabel('y - y_pred');\n",
    "    \n",
    "    ax_133 = plt.subplot(1,3,3)\n",
    "    z.plot.hist(bins=50,ax=ax_133)\n",
    "    z.loc[outliers].plot.hist(color='r',bins=50,ax=ax_133)\n",
    "    plt.legend(['Accepted','Outlier'])\n",
    "    plt.xlabel('z')\n",
    "    \n",
    "    plt.savefig('analysis_results/outliers.png')\n",
    "    \n",
    "    return outliers\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "c0602646",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "R2= 0.027071031534741663\n",
      "Mse= 0.14169772015777293\n",
      "-------------------------------------------------------\n",
      "0 outliers;  ALL data shape: (149995, 47)\n",
      "nan\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4cAAAE9CAYAAAC4IxesAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABOh0lEQVR4nO3de3xU1b3//9cnJAFvKCJVFLkpekCLCAGxeloVudT2CFVb9ViL/UnRo3g8X1u/xXoe1XqheHqxLVorFby0HKClXrDar1doqxUhoSkIVKAIEqRCAyLKJSTz+f2xd+hkmJlMyMzsyeT9fDzmkVlrr73nMxOymM9ea69t7o6IiIiIiIi0byVRByAiIiIiIiLRU3IoIiIiIiIiSg5FREREREREyaGIiIiIiIig5FBERERERERQcigiIiIiIiJAadQB5NsxxxzjvXv3jjoMEcmiqqqqf7h7t6jjaA31TSLFpxj6JlD/JFKMUvVP7S457N27N5WVlVGHISJZZGYboo6htdQ3iRSfYuibQP2TSDFK1T9pWqmIiIiIiIgoORQRERERERElhyIiIiIiIkI7vOZQREREREQK2759+6ipqWHPnj1Rh9KmderUiR49elBWVpZReyWHIiIiIiJSUGpqajjiiCPo3bs3ZhZ1OG2Su1NbW0tNTQ19+vTJaB9NKxURERERkYKyZ88eunbtqsSwFcyMrl27tmj0VcmhiIiIiIgUHCWGrdfSz1DJoYiIiIiISBJPP/00ZsZf//rXvLzelClTWrzPY489xqRJk7Ly+rrmUEQKTtWG7SxaV8vwvl0Z0qtL1OGIiADqm0Si1Hvyc1k93vqpn8uo3ezZszn33HOZPXs23/nOd7IaQzJTpkzhW9/6Vs5fJxWNHIpIQanasJ2rHlnED158m6seWUTVhu1RhyQior5JpB366KOPeO2115gxYwZz5swBoKGhgW984xucfvrpDBw4kGnTpgGwZMkSPvWpT3HGGWcwbNgwdu7cSUNDA7feeitDhw5l4MCBPPzwwwAsXLiQT3/603zuc5/j1FNP5frrrycWizF58mR2797NoEGDuOqqqwD45S9/ybBhwxg0aBDXXXcdDQ0NADz66KOccsopDBs2jNdffz1r71kjhyJSUBatq6WuPkbMYV99jEXranWGXkQip75JpP155plnGDNmDKeccgpdu3alqqqK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Ixgt/HZrjmfhQUVERERERKQd07RSERERERERUXIoIiIiIiIiSg5FREREREQEJYciIiIiIiKCkkMRERERERFByaGIiIiIiIig5FBERERERERQcihFxszuMrP/iivfa2Y3RxiSiAig/klECpOZXW9m1eHjHTNbEHVMEh1z96hjEMkaM+sNPOnug82sBFgDDHP32mgjE5H2Tv2TiBQyMysDXgX+x92fjToeiUZp1AGIZJO7rzezWjM7EzgW+LO+eIlIIVD/JCIF7sfAq0oM2zclh1KMHgGuAY4DZkYbiohIE+qfRKTgmNk1QC9gUsShSMQ0rVSKjpmVA8uBMqCfuzdEHJKICKD+SUQKj5kNAR4H/tXdt0cdj0RLI4dSdNy9LryY+gN98RKRQqL+SUQK0CTgaGCBmQFUuvuEaEOSqGjkUIpOuNDDUuCL7r4m6nhERBqpfxIRkUKmW1lIUTGzAcBa4BV98RKRQqL+SURECp1GDkVEREREREQjhyIiIiIiIqLkUERERERERFByKCIiIiIiIig5FBEREREREZQcioiIiIiICEoORUREREREBPj/Ac+pbkNxMQHMAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1080x360 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 通过岭回归模型找出异常值，并绘制其分布\n",
    "from sklearn.linear_model import Ridge\n",
    "from sklearn.metrics import mean_squared_error\n",
    "X_train = train_data.iloc[:,0:-1]\n",
    "y_train = train_data.iloc[:,-1]\n",
    "outliers = find_outliers(Ridge(),X_train,y_train)\n",
    "outlier_index = list(outliers)\n",
    "outlier_sum = np.sum(train_data.iloc[outlier_index]['loan_default'].values)\n",
    "print(outlier_sum/len(outlier_index)*100)\n",
    "train_data.drop(labels=outlier_index,inplace=True)\n",
    "train_data = train_data.reset_index(drop=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "7a97e284",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "R2= 0.14164407210518404\n",
      "Mse= 80.02880651897091\n",
      "-------------------------------------------------------\n",
      "0 outliers;  ALL data shape: (29894, 46)\n",
      "nan\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3UAAAE9CAYAAACsmksIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAADP3ElEQVR4nOy9eXhcxZnv/63Tm9RSa5e1WJZteREgQYxsYxsSlgmbEzIBkwvBuZmsGGZIJvNLJhMmMzdhcidc5t6ZSTIJEyCBIQs4Jmwhi9kSbCbENraMCRaOvMiSLGvfW2qpt1O/P06fVledaqkldWvr9/M8tlSlc05Xb3Xqrfd9vy/jnIMgCIIgCIIgCIJYnGjzPQCCIAiCIAiCIAhi5pBRRxAEQRAEQRAEsYgho44gCIIgCIIgCGIRQ0YdQRAEQRAEQRDEIoaMOoIgCIIgCIIgiEUMGXUEQRAEQRAEQRCLGPt8DyBRioqK+KpVq+Z7GARBJJH6+vpeznnxfI9jNtDcRBBLj6UwNwE0PxHEUiTe/LRojLpVq1bhyJEj8z0MgiCSCGOsZb7HMFtobiKIpcdSmJsAmp8IYikSb36i8EuCIAiCIAiCIIhFDBl1BEEQBEEQBEEQixgy6giCIAiCIAiCIBYxiyanTkUwGERbWxvGx8fneyiLloyMDFRUVMDhcMz3UAhiyUBzU3Kg+YkgCGLxQffA5DDde+CiNura2trg8XiwatUqMMbmeziLDs45+vr60NbWhtWrV8/3cAhiyUBz0+yh+YkgCGJxQvfA2TOTe+CiDr8cHx9HYWEhfWBmCGMMhYWFtJNCEEmG5qbZQ/MTQRDE4oTugbNnJvfARW3UAaAPzCyh148gUgN9t2YPvYYEQRCLE5q/Z890X8NFb9QtBJ5//nkwxvCnP/1pTh7v/vvvn/Y5jz/+OD73uc+lYDQEQSxUaG4iCIIg0pV0uwcu6py6hcLu3bvx3ve+F7t378Y//dM/pfzx7r//fnz1q19N+eMsZOpbBnCwqQ9bqwqxcWX+fA+HIBYkNDcRixnVPJ/I3E/3B4JYWKy699dJvV7zAx9M6Lh0uweSp26WjIyM4Pe//z0effRR/OxnPwMAhMNh/O3f/i1qa2txySWX4Lvf/S4A4PDhw7j88svxnve8B5dddhm8Xi/C4TC+/OUvY/Pmzbjkkkvw8MMPAwD27duHK6+8Eh/84AdRXV2Nu+++G7qu495778XY2Bg2bNiAj33sYwCAn/70p7jsssuwYcMG3HXXXQiHwwCA//qv/8L69etx2WWX4Y033piHVyc11LcM4GM/PIh/e7kRH/vhQdS3DMz3kAhiwUFzE5FK6lsG8OBrp2c0/z7wmxO4+v+9hgd+cyLu9VTzfH3LAO74wUH860uNuOMHE31TnTfb8RIEsfhIx3tg2nnqkr2D94tf/AI33ngj1q9fj8LCQtTX1+PNN99Ec3Mzjh07Brvdjv7+fgQCAdx+++3Ys2cPNm/ejOHhYWRmZuLRRx9Fbm4uDh8+DL/fjyuuuALXX389AODNN9/Eu+++i5UrV+LGG2/Es88+iwceeADf+973cOzYMQDAiRMnsGfPHrzxxhtwOBz4q7/6KzzxxBO47rrr8PWvfx319fXIzc3FNddcg0svvXTWz3chcLCpD4GQDp0DwZCOg019tBtLLHpobiISIdmfk5l4vkzDKRDS4bRreOKzW+Oe++ShVuw93oHttWXYuaUSD/zmBB56vQkAoj+vqynFHY8cQDDM4bAx7N61DQeb+uAP6uAA/EFjnm8fHEMgpAMAAiEdD+8/g9dP9QjjUN0fACQ8XoIglgbpeA9MK6NuOjeiRNm9eze+8IUvAAA++tGPYvfu3Th79izuvvtu2O3Gy1tQUIB33nkHZWVl2Lx5MwAgJycHAPDyyy/jj3/8I55++mkAwNDQEE6dOgWn04nLLrsMVVVVAIA77rgDv//97/GRj3xEePzf/va3qK+vj153bGwMy5Ytw6FDh3D11VejuLgYAHD77bfj5MmTs3quC4WtVYVw2jUEQzocdg1bqwrne0gEMStobloac1OqSfbnJJHrqY5RGVyqcTx5qBVffe4dAMB/n+oFADxVf0445qn6cxj2hxAIcwBAIMzxzNE25Ljs4JFjOADvWBAnu7zCuQ3tQ9FxBCLj2FpVCLvGEAxz2DSGrVWFtBFIzJpEwgcTDQkk5oZ0vAemlVGX7Im9v78fv/vd7/DOO++AMYZwOAzGWPQNTATOOb773e/ihhtuEPr37dtnUb1RqeBwzvGJT3wC/+f//B+h//nnn0/8iSwyNq7Mjy4sKGeCWArQ3EQkQrI/J4lcT3WMdyxoMbgAq0dv7/EO4Vp7j3dA17nQp+scvV6/0Nfr9ePldzuFvqffaoPLbhP6Rv2h6Dh0APlup9FgzBhZ5HNJG4EEkV6k6z0wrXLqzIndxpCUif3pp5/Gxz/+cbS0tKC5uRnnzp3D6tWr8Z73vAcPP/wwQqEQAOPDVV1djY6ODhw+fBgA4PV6EQqFcMMNN+D73/8+gkHjpnjy5EmMjo4CMNy7Z8+eha7r2LNnD9773vcCABwOR/T497///Xj66afR3d0dfayWlhZs2bIF+/fvR19fH4LBIH7+85/P6rkuNDauzMc916wlg45YEtDcRCRCsj8niVzP9HwxIOr5augYFo5p6BhGfcsAbn/kAP7fS424/ZEDqG8ZQE1ZjnBcTVkOxgJhoW8sEMagLyD0DfoC6POKfX3eABgXDcJgWGw3tA/hYFMfQmHDexcOTxiqT3x2K754fTWFXhJEGpCu98C08tQl28Oze/dufOUrXxH6br31Vpw4cQKVlZW45JJL4HA4cOedd+Jzn/sc9uzZg89//vMYGxtDZmYmXn31VXz2s59Fc3Mz6urqwDlHcXFx1IrfvHkzPve5z+H06dO45pprcMsttwAAdu3ahUsuuQR1dXV44okn8M///M+4/vrroes6HA4HHnzwQWzduhX33Xcftm3bhry8PGzYsGFWz5UgiNRBcxORCMn+nCR8Pcnztb22LBpOabYf3n8GoYiRFQpzPLz/jOUyTb2j8EuGmD/M0dQ3Kh7XNwrxKMMjeGF5LtoGJwrx5rkdGI0xEjnie+U2rswnY44g0oR0vQcyzuWpc2GyadMmfuTIEaHvxIkTuPDCC+dpRKll3759+Nd//Vf86le/SvljLeXXkVjYMMbqOeeb5nscs4HmptSylF/LxcCDr53Gv73cCJ0DNgZ88fpqbK0qxG0P/QHhSN9Td1+OrzzzR5zuHomet3ZZNsA5TvdMGGxri7NwtncUsXadjQF2mwZ/RAAFAFx2DaGwbjnuf998cTRHDwBu3lCO54+1R9v333Ixdm6pTIqYzFKYmwD1/ERMH8qpmx5Led5eCPfAePNTyj11jLE8AD8EUAtjI+3TABoB7AGwCkAzgNs456QzTKQNVEeJIIi5Zibzjsrz9czRtqjBFebAM0fb4NDEnBKHxuAL6EJfMMzhyXRg0BeM9nkyHRiXQjKZ+R8XOwd8gWg3A9A3GoDGAJ0DWuTvAHnlCIJIT+Yi/PI7AF7knH+EMeYE4AbwVQC/5Zw/wBi7F8C9AL4y2UXSjauvvhpXX331fA+DSAGpUDokiLmC5qbFyXTmHdn4k0M0nz3aJhzPADRLIZTNfaPIdIpLDK8/hCynTTDqspw2+BVGnY0xhGOsOhtjFoGWwiynMtSSNs0IgkgVC/kemFKhFMZYLoArATwKAJzzAOd8EMCHAfwoctiPANycynEQxEIiXh0lgiCIZCEX20503olXvDuWmvJcS3s8KHrlxoM6nJL3zqkxDI8Fhb7hsaBgvAFAGBzFHpfQV+xx4YA05rO9o/jktlVYUeDGJ7etEmroTTZ+giCIpUiqPXWrAfQA+C/G2HsA1AP4AoASzrmpddwJoCTF4yCIBQPJaxMEkUpUXrlE5x25Bt2zR9uw53ArQjpg14A9d10eDXM0GfAFUJDlQN/ohMFWkOVAQCpfENA5vH7RK+f1h1HodqAvFBOS6bRjTXE2zseIoqwpzsbJTrFOXVPPCN5uGwJgFDKvLMzCgC9gqV03n946xthjAG4C0M05r43p/zyAewCEAfyac/53kf6/B/CZSP9fc85fivTfCCPyyQbgh5zzB+b0iRAEseBJtVFnB1AH4POc80OMse/ACLWMwjnnjDGlWgtjbBeAXQBQWVmZ4qESxNxAdfYIgkglKq/cPdesVc47cqiiHOL4+1O9MDVMQjrw0P4zyHKK9eJOdXmxpjgbfaMTXrE1xdnoGvajf3TCAPS47ELbRKV0KRcaP9nlxdB4SOgbkQzEPYdbcfvmSnXtuvnjcQDfA/Bjs4Mxdg2MiKX3cM79jLFlkf6LAHwUQA2AcgCvMsbWR057EMB1ANoAHGaMvcA5f3fOngVBEAueVBt1bQDaOOeHIu2nYRh1XYyxMs55B2OsDEC36mTO+SMAHgEMBacUj5Ug5gxK5CcIIlUkKutf3zKAO35wMHrc7ju3WmrQdXvHhfbZnhGEJA/csXODGPWLBtfZ3lHkZjqEPofNWqA3HhkOm6XtstvQ0u+L9tk0IEY0E8GwbhFTkb2Kcw3n/HXG2Cqp+y8BPMA590eOMddAHwbws0j/WcbYaQCXRf52mnPeBACMsZ9FjiWjjiCIKCnNqeOcdwI4xxirjnS9H8Yk9AKAT0T6PgHgF6kcRyppa2vDhz/8Yaxbtw5r1qzBF77wBQQCk99E7r//fqGdnZ0NAGhvb8dHPvKRlI2VIIj0guan9CResW05z+7Zo20IhCKhiiEj1HJ7bZlwrZKcDKFdkOVEKCzmz4XCOoYlL9rweAgFWaKXTG6bjPhlD1zIYhDmZjpwxboioS8nQzYaNeS7nYKncQF46lSsB/A+xtghxth+xtjmSP9yAOdijmuL9MXrJxYQq+79teUfMb+k2z0wpUZdhM8DeIIx9kcAGwDcD+ABANcxxk4BuDbSXnRwzrFjxw7cfPPNOHXqFE6ePImRkRH8wz/8w6TnyR8Yk/Lycjz99NMJP34oFJr6IIIg0hKan9KbjSvzcc81awWDThYQ6fb6hXO6vX7s3FKJ+2+5GO9bV4T7b7kY60o8wjG5bqeQ6wYA5wfHYZNEUWwaQ2ufT+iT2yay5y+kc2yTcv62VRXCJxl/lQVuoX375sqopw4wFjjz7amLgx1AAYCtAL4M4CnGWOJuzClgjO1ijB1hjB3p6elJ1mXTCjLOkgxjyf2XAOl4D0y5Ucc5P8Y538Q5v4RzfjPnfIBz3sc5fz/nfB3n/FrOeX+qxwEAeOIJYNUqQNOMn088MavL/e53v0NGRgY+9alPAQBsNhu+9a1v4bHHHsN//ud/4nOf+1z02Jtuugn79u3Dvffei7GxMWzYsAEf+9jHhOs1NzejttbIow6Hw/jyl7+MzZs345JLLsHDDz8MwCh6+L73vQ9//ud/josuumhW4ycIYoGQ5LkJoPmJEFHl2clLI7O9c0slfvKZLdi5pVJ5jCoHzi4daGdQGo0qJJsOOjfKH8Ti9Ydw7Nyg0Nc6MGa51taqQrgcGmwMcDoWrBBVG4BnucGbMNL/igCcB7Ai5riKSF+8fiWc80ci665NxcXFSR88QSwG0vEeOBd16hYGTzwB7NoF+CI7hS0tRhsApDcuURoaGrBx40ahLycnB5WVlXEt9AceeADf+973cOzYsUmv/eijjyI3NxeHDx+G3+/HFVdcgeuvvx4AcPToURw/fhyrV6+e0bgJglhApGBuAmh+SicSqcu2taoQjDGAc4AxbK0qxPlB0SgqipQR+ItHD+HN5n5ctqoALZJ3rVFSoDQZD+mWtqYx6DEWm9w2sWlAbESnTQOOSqUIjrYMYMOKPDTHjEdyDmLv8Q7s3FKJr91Ug73HO7C9tmyh5i4/D+AaAK9FhFCcAHphpKY8yRj7dxhCKesAvAnDll7HGFsNw5j7KICd8zBuglg0pOM9MH2Mun/4h4lFk4nPZ/TPYuGUKl5++WX88Y9/jLp6h4aGcOrUKTidTlx22WW0YCKIpcIim5sAmp8WEvGKisuG3isNnQhHDKqwzvFKQydqpXpzteW5+ItHD+H1U70AgNdP9Vo8dR3DVu9YPDLsGkZiCovLbZMPXVKO54+1C+3f/UnUTzs/OIZLJQOtONuF3pGJ8MqashzUtwzgvl82IBjScehsP6pLPfNd0mA3gKsBFDHG2gB8HcBjAB5jjB0HEADwCc45B9DAGHsKhvZACMA9nPNw5DqfA/ASjJIGj3HOG+b8yRAEAWDh3gPTx6hrbZ1efwJcdNFFlvja4eFhtLa2Ii8vD7o+sfU4Pj4unz4pnHN897vfxQ033CD079u3D1lZWTMeM0EQC4wUzE0AzU/pQryi4rKh92JDp3Deiw2dWC/ly+1r7LYUJZf9ajYwuBwM/phi4y6HJrQBIBDmCIVFA86nMOgAoF3yGLYPjsGTYRfEVzwZdvRK4ZtByevnyXRExV+ACfGX+TTqOOd3xPnT/4xz/DcBfFPR/xsAv0ni0AhiSZOO98C5EEpZGMSrczeL+nfvf//74fP58OMfG+VnwuEwvvSlL+GTn/wkqqqqcOzYMei6jnPnzuHNN9+MnudwOBAMBuNdFgBwww034Pvf/370uJMnT2J0dHTGYyUIYoGSgrkJoPkpXdhaVQi7TQMDYLMZOWRmAXGdGwXEDzb1YcOKPOG8DSvy0NA+JPQ1tA8h2zX5Xq/dzlBVKC5aqgqzYJdWE3bNSBSLRW6bHD8/ZGl/6JJyoU9uA8DImPg5PdXlTTiPjyCIpU063gPTx6j75jcBt6iUBbfb6J8hjDE899xz+PnPf45169Zh/fr1yMjIwP33348rrrgCq1evxkUXXYS//uu/Rl1dXfS8Xbt24ZJLLrEkYcby2c9+FhdddBHq6upQW1uLu+66i9TkCGIpkoK5CaD5Ka3gXPgpFxD3jgWRJRlrWS67VUWOMbilwuJWoRQGT4Z4LU+GHW6n2Ce3TeQ8OI2pjT+PVNLAk+mweA2HxsWF17Fzg3HFXwiCSC/S8R7IOLcmLS9ENm3axI8cOSL0nThxAhdeeGHiF3niCSNPpbXV2AX/5jcXbM7KXDLt15EgkgRjrJ5zvmm+xzEbaG5KLTQ/Tc6Dr53Gv77UCA5jl/ZLN1Tj5YZOvN024f16T0Uuapbn4slDEyG9O7dUotfrx8vvdkX7rr+oBPsauxEIx18XMABrlmXjdPdItG+t1J4Mu1Qw3K4BJbmZOB+jZLk8PxP3XL0WX33unWjf/bdcjH2N3cJ4C90O9PkmDLsr1xVhRYEbT8Q8z49tqcQ3b7k4obHFshTmJkA9PxFTk6wyBs0PfDAp11ls0LydPFSvZbz5KX08dYCxSGpuBnTd+EmLJoIgFgI0NxEzJLbYth5pu6RYSJddQ47kqctx2XHXVWtgtxm+LLuN4a6r1kxq0JnIYY9yezLkcmyMMWyWct42r8xXhoYOSjXnZNGV9sEx7KirgNNuhKM67Rp21FUkPDaCIIjFTPoIpRAEQRDEEmPAFzBCGLkRyjjgC2BdiQdvNk+UBFhX4sEBSQDlQFMf7v3AhfjGn9dOS/6fA+gfE40ruT0ZGXYNwbCoiHm2V8xFOds7ipKcDKGvx+uHXyqbIJdHGA+GsXFlPnbfuXXKEg8EQRBLDTLqCIIgCGKRsrWqEE67hmBIh8NuCKXIteRqynPx+0iZApNBXxD1LQP42i/eQUgHDpzpRXWpqIYZDxsTS5DL7cmQ7DKEdETVKk0CIT1aM8+kyONCVVGWEFa6PD9TqFt3UaREw8aV+WTMEQSRdiz68MvFkhO4UKHXjyBSA323Zg+9hlOzcWU+PrltFVYUuPHJbauwcWU+9jWKNd72NXbDHxJDFf2hMB7afyZqZIV04KH9Z6Z8PLdTs3jM5PZk5EoiK7kZdjilcFFnnHDRYb8oRFAsGX5XVy9LeBwEQaQWmr9nz3Rfw0Vt1GVkZKCvr48+ODOEc46+vj5kZGRMfTBBEAlDc9PsofkpMZ481IqHXm9Cc58PD73ehCcPtaJrWKy51DU8jq1VhULf1qpCHDgjeu/ktgobY5CiHi1tE5eNWdq65NHTwbFNGtu2qkI0dAwLfQ0dwxYly4FRMezzuJSHRxDE/ED3wNkzk3vgog6/rKioQFtbG3p6euZ7KIuWjIwMVFRQIjlBJBOam5IDzU9Ts+dwq6W9WgpTXF2UBbfk+XK77Bjxi947ua1iOms0l8MGfzgktId8oqjKkC+IJimnrql3FNtry/DfMSGj22vLUF3qwc/r26KhplXF2TjdM3EulS8giIUB3QOTw3TvgYvaqHM4HFi9evV8D4MgCEKA5iZirlApXfZJHqy+0QCOnRsU+v5wWu2Vmyo7bjSgNvxMsZbY9qgULjnqD1lK44U5Vypd3nXVGtg0IKwDNg2oLvVg48p83PehmqiwS3WpB681diMY5nDYGCldEsQCge6B88OiDr8kCIIgiKVKfcsAHnztNOpbBuIe4x0PWdo1ZTlCX01ZDtoHx4S+9sExOKTwSIeNWYwumXgGn6rot6pIOZeO5GAIhsWcvGBYxzNH22B2h3XgmaNtqG8ZwDd+1YA3TvfiG79qQGOnFyzyWOSlIwgi3SGjjiCItIMxtoIx9hpj7F3GWANj7AuR/gLG2CuMsVORnyShR8wL9S0D+NgPD+LfXm7Ex354MK5hNyDVbhvwBZThjCqCUk26YJjDrs3MPMp02iztj26uFPo+urkSkh0JG7MKrfhDOnq9fqGv1+vHwaY++IM6dA4Egjr2Hu9ASOfgAMI6x0GpbANBEEQ6QUYdQRDpSAjAlzjnFwHYCuAexthFAO4F8FvO+ToAv420CWLOkQ0Y02CRvXc3b1gunHfzhuXKcEa5qHi8IuPheKonUxCWrhcOc3il8EuvP6QUWbFp4lLEpmkWjyCHtdB6TVkOnHYNNoZoOQeCIIh0hYw6giDSDs55B+f8aOR3L4ATAJYD+DCAH0UO+xGAm+dlgETaIxsw+W6n0nt3XU1p1PtlY8B1NaUYGpPESKT2ZMSx9aZkXPK2jYd0S22835/qhU3yBNo0hivXFQl9V64rUoZzysaq1x/CE5/dii9eX40nPrs1WpsukbBVgiCIpcaiFkohCIKYLYyxVQAuBXAIQAnnvCPyp04AJfM1LiK9GfAFoqIlLNI2vXccovcu1g472NSnLOadalSetW6vWFqh2zuOLKdNCLfMctpwskssln6yy4tLK8XI52KPS/kYcqHx+pYB3PGDg1GFzN13bqVC5ARBpAVk1BEEkbYwxrIBPAPgbzjnwyxGJYJzzhljSr8FY2wXgF0AUFlZqTqESFPqWwZwsKkPW6sKZ2VMxHrqzNBD83dgwntXXeqB065FjZitVYV4UGNCeKVdas8WGxM9enLbxO20YSyoC+2hMTEkc3g8hBG/mPN3unsU/3PrKqGvpjwX1aUePH3kXFTt8ta6Csvr/ezRtqgRGwjpePZoGxl1xLyx6t5fC+3mBz44TyMh0gEy6giCSEsYYw4YBt0TnPNnI91djLEyznkHY6wMQLfqXM75IwAeAYBNmzZRdVUCwIS4SSCkw2nXhJDA6fLTg82Wtuy9amgfws4tlfjktlV4saETN9aUYuPKfIxJnjm5bZKocSZj15iQQye3TRw2zdLmkr+NgyMn04HekQnBl5xMu9JTuXFlPnbv2hY14gBYXu8eSWBFbhMEQSxVKKeOIIi0gxkuuUcBnOCc/3vMn14A8InI758A8Iu5HhuxeDFDH3UOBEP6tNUYY3PBWvt9wt9a+33K8MMnD7Xiodeb0Nznw0OvN+HJQ62WAuHxCobLSpeJKl9q0nFy20QWXQnrHBV5bqGvIs+Nj0j15T5SVxHXU7lxZT7uuWYtNq7MF17vQOT1LvK4hGvJbYIgiKUKeeoIgkhHrgDwcQDvMMaORfq+CuABAE8xxj4DoAXAbfMzPGIxsrWq0BIKmSiyl++CEg+OtU0Ig9RV5qO2PFc4p7Y8F3sOtwp9cttELirOAPgl75rcjke2y46xYCBu26RvJGBpX7+lFC2HJsb43nVFSpXM45IoitmODbfMdzujapo6Nww/0/gzkV8zgiCIpQoZdQRBpB2c898jfr3i98/lWIilw8aV+Xjis1stOXWqPDu5T/byeTIdwrW3VBXitUYxGvi1xu6ERVFUXr6ZojLCVKGcbqcNXn842pflsmFUOnfUH7IURj8lCacAwOkur8Xw3VFXYQnRBACNGUaexqx1/AiCIJYqZNQRCZMsAQCCIIilikqNUc77Aqy5YFurCmG3GV4+m01DTVkO/jumJEC+24m3zokS/W+dG8Dy3Eyhz2lPPKtipjl1Hpcd4zGeOY/Ljj7JU8c58LEtK/HQ603Rvo9tWYkXGzqF446dG0SuZMD6Q7rF+OsfDVgM316v3xKiqRKOIYiFgiycApB4CpE8yKgjEiKZAgAEQRDpQrw8O7lva1UhdG7IiOjcWrh7wBfAWIzXCwDG/GGsLsrC2zFhmnLbhDExt44pDLhEBTJVdfBk/6AOtUdvw4o8NPdN5AtuWJGHy1YX4u22d6J9t2+uxL7GbpzumVDFrCrOtoS3FnlcUU+dhgkxFZW3lCAIYqlDQilEQsxWAIAgCCIdMQ0RG0PUc6Tqe/ZoG0IRqyoU5tj7TodwnVcaOqFLwiO6znG4uV/ok9smuRn2SduJwgBoTBJKYQwZkocww65ZwihPdXmR5RIfN8tlR2ufWNKgtW8Ud121Jlqo3KYx3HXVmqjBZhYbv7WuAi6H8To6HRNeuVgxlYUAY+wxxlg3Y+y44m9fYoxxxlhRpM0YY//BGDvNGPsjY6wu5thPMMZORf59Qr4WQRDpDXnqiISYjQAAQRBEuhLPcyT3PXO0TThP9ob9qcuLQFj0h/nDulAKAIClbTIo1YeT24li1xhKcjLQEqPOWZKTgc5hsdA4B9DvE59Dvy+IbqnEQLfXj9+e6BL6nj92HtfVlMLGDI+fLU7268aV+fjaTTXYe7wD22vLFowRp+BxAN8D8OPYTsbYCgDXA4hVt9kOYF3k3xYA3wewhTFWAODrADbBeHnrGWMvcM7FmFyCINIWMuqIhKCQFoIgiJkh59mpuLWuAk8dbkVIB+yakR/WE2OgFWU50TYoGk46B0KSoSe3k01Y5whJNRJCnINLfZxzOKRSBw6NYUgSLhnyBVBZ4Ebn8ISxV1ngxsGmPoR0Ixw1rPNodEhsGsDXbqrBN37VgEBIx+HmflSXehbkvYlz/jpjbJXiT98C8HcQS6d8GMCPufGCHmSM5UVqZl4N4BXOeT8AMMZeAXAjgN2pHDtBEIsHMuqIhElkYUIQBEFMTjzxlFh5/uFx2cul9sDNNC9upuS7HRgdlxQsx0NY5nEJRucyjwu9I6JXrnfED6/0vNoHx/CdO+pw28N/QFgHbBrwle0XAoAlOuRgUx/8QR0cgD+oY+/xDktawGK5RzHGPgzgPOf8bSaGsy4HcC6m3Rbpi9dPEAQBgIw6giAIgphTVDnK+xu7BaMuEJILdyd+fVVNumTZeplOG9olj+HwWBAhXRzg4FgQuuS9Gw2EEAiLuXdefwgbV+bjqbsut0SCyKGVrzR0CmqXhVnORZkWwBhzw6iLeX2Krr8LwC4AqKysTMVDEASxACGjjiAIgiDmkK1VhdFaaowZ7Yf2nRaOkY2wyvxMnOoZRSKolC55kqy6jqFxpdJltsuOkRh1zmyXHWGdwxeY8DBmOe3wS3X04o2rvmXAElrZ0DEsHNM3GlisaQFrAKwGYHrpKgAcZYxdBuA8gBUxx1ZE+s7DCMGM7d+nujjn/BEAjwDApk2bUuy7JQhioUBGHUEQBEEkiUQKjTd2emHaNiEdaOz0IsMhFuqWOT80HvdvMqbBGK89G8Jc7QkcD4pjHw+Gsb7EI+QFri7KAgC82Tyh7XFBqUcZjqryZm6vLRNq95kevEVkzAEAOOfvAFhmthljzQA2cc57GWMvAPgcY+xnMIRShjjnHYyxlwDczxgzn+z1AP5+jodOEMQChow6giAIgkgC8XLl7vjBwWiI4O47t2LP4VbhvD2HW7G6KEswgGTDKTiN+EvJGWZpz5Zsl2iAZrts8AVEo84XCCPP7RT68txOXF29TDDqbr60QmnAqRSXTePNDMncuWVxhBYyxnbD8LIVMcbaAHydc/5onMN/A+ADAE4D8AH4FABwzvsZY/8bwOHIcd8wRVMIgiAAMuoIQolqt50gCGIyYo2TQMQ4aR8cQyBiVQVCOp492hZtmwRCOpblZAh9mlQcPMOuIRi2evJyM+0YiilPILdTwZribByLKXC+pjgbg2NBoah4eV4mijwu4bwijwvH28XC6Mfbh3BrXYXSgFOFVu7cUikYc4thruac3zHF31fF/M4B3BPnuMcAPJbUwREEsWQgo45IOovhJjsZqt32xfg8CIKYW/LdTkHsJN/txLFzg8Ix3V6/UhVS9nTJKpYjcUIz7VLZALk9XRIJ1RyUaugNjgWxvsQjGHXrSzyoLc8Vjqstz8Xzb4n1+E53ebFxZT4+uW0VXmzoxI01pdH5dqrQSpqrCYIgJtCmPoSYb+pbBvDga6dR37Lwa4yaN9l/e7kRH/vhwUUxZhlVKBBBEOlNIvPwgC8A06TSIu2TnV7hmJOdXoQlqymsc3R7J8+Zi2dn9Y0GJ21PhlzU25aAoEqB26GsjTcglVwY8AXQIHnlGtqH0D8qHtc/GsCTh1rx0OtNaO7z4aHXm/DkISM8darXnOZqgiCICchTt8BZbDuRqpvsQh6vClUuB0EQ6Uui8/DWqkK4HOLc8b3fiaqW3V4/Nq/Kx+sxgh+1y3PxVuvcb4DJHjmdT136IAwuFAoHgM5hPzIcNqFvYDSAbq94XLfXD4dN3Et22DTsPd4h9O093oHqUs+UrznN1QRBEBOQUbfAWWxG0lK4ycbL5SAIIj1JdB7euDLfUlttVaEbJ2K8dasK3RiSwheHxoJxwytTiWzAcRjeuskKmI8HdGTYNYzEhItm2DWlsbZMyqlb5nGhe1j0SDrtmlLVUpWfKL/mqtebIBYbq+79tdBufuCD8zQSYrFDRt0CZ7EZSUvFIFqMMtkEQaSGROdhVW21q9YXC0bdVeuL0dQ7CmAiNLEkJwMcQ4oriiS7qLjqeg6bhvAkcpn5mQ64HDaM9E/kzxVmuzDsF8VZhv0h1Eg5dTXluRj1h/B2jMjK6qKsqPBJrKrlk4daLfmJMvUtA7jvlw0IhnQcOmu83jRvEwSRrpBRt8BZjEYSGUQEQSwlEp2HVd6lX/2xXTjmV39sR1VxttAn13iLh8qzNhtmcr0w5+iUvG2dw+MozhaNLsZ5NMeQYyLH8GyvWEDdbFeXejDgC6C61AMAynNlYpVETWVRuvcQix3ZcweQ945IDDLqFgFkJBEEQSw8njzUKniXVOqXKgOoTxILOdy8cMqNhfTJi9qNBkLQJTUVnXN4MhwAJp6rJ8OhzDHc39gtnOuya8qcRdW5MqqcPYIgiHSFjDqCIAiCmASV0dHY6cVXn3sHAKL5YA/vPyOc9/D+MxY1Sc4Bf1A0nOT2fDJVjXONMZTnZqAlJvyyPDcTQUl1JahzZakCVUFyVc7iPdesVXpHY0vmqHL2CIIg0hUy6oi0YrHX0CMIYu5RGR2yfP7e4x3oGBoT+jqGxlBVlIVTPRMhh3IbABaOSTd1CGYgpOO964rQEik7AADvXVeEk11i6YZ8tyNaqgAAHnq9CZWFWcqC5PFyFuUoFdm4/tpNNcJ5O+oqZvHMCYIgFjdk1BFLgkSMtcVWHoIgiIWByujwjgUFxcaashx4x4I4FiMCclFZDnqkUEvfJCIkqSRZIiuBMFcKoPRIoY/5bqeyVMHfXLseTx05h1CYw25juLWuYkY5i8GQURtv952LK+ecWHioctgIYjFCRh2x6EnUWFts5SEIgkg+M/HWq6TzDzb1RQ0jBsCT6UDN8lzBqKtZnovn3jovXGtg1Cr4MRfYNCDWnpTbicJgiJZozMgb1JhaxASAslQBgIkK5zGxqYnkjquMa8o5JwiCMCCjjlj0JGqsLbbyEARBJJeZeutV0vn5bmfU08VheKZkEZBTXV647AyxNo/cnitUhcZddg3+GMtObqvIcBhzp11jCIY57BrD1qpCnB8UQ0+LPC7s3FKJN8/2Yd/JHly9vhg7t1Tiq8+9EzUmQzrwTESxMhFjezGqQRMEQcwVZNQRcVks+WfxjDV5/LQgIIj0ZqbeepV0vhy6eLx9COeHRKXL80PjCITEI+X2XKEy6vIzHeiMCZvMz3Sgy+ufNCzTaTeKjAfDHDzyEwDePS/W2Xv3/BCePNSK548ZJR2eP9aOy1YXgknXY5iesU2eOYIgCDVk1BFK5iv/TGVITmVcqoy1eOOnBQFBpC/TKSIeO5+o6rmpjBMmSV0yzqNGj4ncnk9UJQGmGh3nwJeeOiZ4Kb/01DFL6YY/dXnx2Btnhb7H3jiLay9YJvR5XHYKjScIgkgCZNQRSubjJlvfMoA7HjmAYJjDYWPYvWsbACRkXMrGGi0SCIKQScRbr9oQurWuAnvebEWYAzYG3BpRWXzqyLnofLWjrgK/j8kfAwCbpkHnYjij3J5XZqCeku92ol0KtWwfHMPKAreg6rkiLxO+QEg4biwQQkPHsNDX0DGMv7l2PYXGEwRBzBJtvgdALEzMHW0bw5zdZJ852oZAJKQnEOZ45mgbDjb1wR80jLNAULfIiMdja1Uh7DYNDIDNRosEgiDiU98ygAdfOx310Jlzjj8y5zR2emE62MIcaOw05Pt5xDNn/lSVNJBT1OZJ/FIJY9a27IGUCeu6ZT7dWlUILl2MM6ZUyYyKpUQwhWee+OxWfPH6alIlJgiCmCEp99QxxpoBeAGEAYQ455sYYwUA9gBYBaAZwG2c84FUj4VInPnIP1OFM8WKEeiRdsIoFNYIgkhfVF44QIwGuLGmVAgt9I4F8XJDp3CdPYdbUbM81yL4EZBCK+V2KphNqQKPy4HBsaDQHoppqxgP6fjxZ7bg5u/9Hsfbh1FbnoMff2YLrv23feKBnOOuq9bgtcbuqDfzrqvWRO8lppLozi2VAChXjiAIYrbMlafuGs75Bs75pkj7XgC/5ZyvA/DbSJtIM2J3xwFgR10FnHbDu+aMFJI1pbOByaWzZQ429SGkG16/sM4T9vDN9jkQBLFwUXn+5VDtY+cGhXMaOoaj4iAmTruGt6TvvNyeK1T5firkm70GROfWaB+z9smMB8OobxnAux3DCOsc73YMo75lAJ9+b5Vw3KffW4WNK/Pxs13b8OUbqvGzXduiRtvOLZX4yWe2RA06giAIYvbMV07dhwFcHfn9RwD2AfjKPI0lJSwW5ch4pFooJd71VYVkZ5JrMRflC6iYOUEsLlSe/+pSjzBX3FhTiodeb4qes722DM+/1SZchwEWCX+5vdCQoz51AP0+0SvX7wtiZYEbLf2+uNcZD+mCV9IMlb//losBWD1wKhK9PyZy3GK/1xIEQSSLuTDqOICXGWMcwMOc80cAlHDOOyJ/7wRQMgfjmDPmYrE/mxtZIueqhEbM/mTcPOMJmcghODMNA52L8NGFLsZCix0inUjk864qmh1vrnixoRM31pRi55ZK7DncKlzHH9KjJQ5M5PZipbrUIxh1DhsTFDvzMh3olVQzzfbOLZWCMZdIuGu8+2Mi91HaWCMIgphgLoy693LOzzPGlgF4hTH2p9g/cs55xOCzwBjbBWAXAFRWLp4wjVQv9mdzI0v0XNnTle92JvXmGVu81hYpXhuPmeZaqM5LpqGzkIuZJ3uxQwYisZCZ6bxmfmdj54r6lgE89odmBEM6HvtDM66rKcW2qkK83TZRh21bVSH+GNMGMGXR7vlGlXunaUA4Ztg2DSj2uITzMh02BMMTKpb5mQ5LGHy8sPh4m4OJ3B8TuY8u9I01giCIuSTlRh3n/HzkZzdj7DkAlwHoYoyVcc47GGNlALrjnPsIgEcAYNOmTYtG7SLVi/3Z3MgSPVfevU7JzZNFlhmyBFuKSLahs5CLmSfz/aLdcGKhM5157Ws31URDBFXHqAqN90ieqabe0YRz2RYKGgNidVs0Bjg1DWP6hFXn1DSck0Ivh8fFsgQt/T6L0uVAJIxT3vyJdy9M5P6YyH10IW+sEQRBzDUpNeoYY1kANM65N/L79QC+AeAFAJ8A8EDk5y9SOY65JtWL/dncyKZzruzpStSzlggHm/oQCuuGkEl4bnZYU2GYLlTFtmQudmg3nFjoTKeo+Dd+1YBASMfh5n5Ul3osn2WVsXb0nCiCIrcXAzq3tmXvoj/yukxGWW4mVhdl4XT3SLRvdVFW3M0f1b0wkftjIvfRhbyxZsIYewzATQC6Oee1kb7/B+BDAAIAzgD4FOd8MPK3vwfwGRiK4X/NOX8p0n8jgO8AsAH4Ief8gTl+KgRBLHBS7akrAfAcM3b17ACe5Jy/yBg7DOApxthnALQAuC3F45hzUrnYn82NbFY3wSR61qZjdCQr9C+ddnWTudhJp9eNWJwk+nlPZIOiVqqtVluei6cOnxP6Bkcnl/1fiNg0sUae3AYM8RSbNL9nOjSMBScO/PfbN+AnB5qFY7KctoTzpIHE74+JHLdQN9ZieBzA9wD8OKbvFQB/zzkPMcb+BcDfA/gKY+wiAB8FUAOgHMCrjLH1kXMeBHAdgDYAhxljL3DO352j50AQxCIgpUYd57wJwHsU/X0A3p/Kx17qzOZGNpNzk+1ZS3QRlszQv8WwqyszG4M2WYudxfi6EelHIjm0iWxQyEqXz7/VhpDk5pLbCw1l7TppyJyrj5MJS8+1sdNrKRFzsKkPH9+2Cnab8drabHOzUbcY4Jy/zhhbJfW9HNM8COAjkd8/DOBnnHM/gLOMsdMwUlYA4HRkTQXG2M8ix5JRRxBElPkqaUDMkrm+KabCW5OI0ZHs0L+FsqubqFT3QsllWyivG0HE48lDrYKcfrzvjyqnLvb7KNepk9uLAVUIqVwHPcyBirwMtA2OR/uW52Wgc3hcOE4uoL7ncCsKspzoHJ7IMyzIcgIAdN3Y+NP1+KIxC2leWyB8GsCeyO/LYRh5Jm2RPgA4J/VvSf3QCIJYTJBRtwCZasE/HzfF6Xhr0kVhcqYk+v5RLhtBJMaTh1rx1efeAQD896leAIYio0p5Uc6pA4CPPnIAwTC3yPcDVqNmsaLyyqk8kJ4MOwZ8E+IodilMsyQnwyKmwjnwzNG26HEh3WjTvDY5jLF/ABAC8ESSr7solcMJgpgdZNQtMBJZ8E/nppjMenaJeGvmSmFyPsJ3ZvqY8nmJvn9L0aAliFSw93iHpf031663fH9U3723zw1GDblgmEfr2Jlk2DWML/ByBYmgUr902W3CMS67DRdX5OGVd7uifZdW5qO+ZSBa2++uq9bgzh8fFs7r8o5bQjfjZV7TvGbAGPskDAGV93MeDY49D2BFzGEVkT5M0m9hsSqHEwQxO8ioW2AksuCfjtJbquvZzWT8Uz3uTMISzcdOlZE309dDdV6i7x/lsqWWOKp0BTBCoVYBaAZwG+d88Ukdphk1ZTlRD53Zjvf9kb97Tx5qEa4lG3UXlHpwTKpJNx84NCA4C9tSFX6Z53agJUbsMs/twJqiLLwSc1ymwxZ9PXRu5NStLc7Gm6MTX4u1xdnwuMTlhNlWbQ6m+7wWUbL8OwBXcc5j3Z4vAHiSMfbvMIRS1gF4E4aNvI4xthqGMfdRADvndtQEQSx0yKhbYCSy4E+m0ls8Znru1qpC2DQGPcyhTbP0QTxjTe6Tx/bM0bZobalUhaPO9PVQnXfPNWsTXtRQLltKeRxWVbp7AfyWc/4AY+zeSPsr8zA2Yhp4Mh3R8EIWaQMToh75bmdcgyLTKd4Gw5LhdDJGun8+mY5BZ5O8craI20zuy428Tia5mQ786o/tQt/vT/cK7W+/2ogdl1bgzeYJo66uMh8NHcPCcQ0dw3E3w9JpXmOM7QZwNYAixlgbgK/DULt0AXglog5+kHN+N+e8gTH2FAwBlBCAezjn4ch1PgfgJRglDR7jnDfM+ZMh5o1V9/5aaDc/8MF5GgmxkCGjboGRqMGWyE1xrurZxdLY6RVCmRo7vbMyJAFY+uSxMcUxC6U24NaqQmV9v2QvatJJTS5ZqFTpYCjKXR35/UcA9oGMujljpp/jrVWFcDlkD5w1z27nFmt+EZNkIeVYtbFAeHpPIoUoVS0Vx+VmOtDvCwrtYFiH1z/xXNxOG1ql3LjWfh980vOVhT4HfUEckNQvDzT1YXVRltBXmOXEwaY++IOGeEogmJ75c5zzOxTdj05y/DcBfFPR/xsAv0ni0AiCWGKQUbcAWQhS9DM9V5XbolpIqYhnOMl98tgA4Of1bQlJaSdKoiFDCS1Ck1jfL95YSU0uaZRwzs0PcSeMWpvEHDCbz7Hq+/mNX4qOjD2HW1Fd6sFtDx9AWDc2WZ66axtaJMNGZiElJKlULVWoBFDk0gRhnWPDijw09008/w0r8gAAzx+b8Na5nTbB0CvPy8SynAwAEyGpy3Iy0DcaEK7fNxrAZW5ndIw6gHy3M95TIwiCIGYJGXVLCJWBMdf17LbXlgm5LdtryxIebzzDSSVBHju2+paBiSJMcjGmGZDo4jJRURuzvl8oCfX9VMwmzJY8fPHhnHPGmPIDRepyyWe2+bjyfBWQxE0CIR3/svdE1LgJ6xz/sveERe1ysaEKtQxKMaTBsA6bJm4qaRrDqOSVGw2ELQInWZJRt67Eg7uvWoPX/tSFkG6oY9591Ro0dnotc//xdjEXUW4TBEEQyYOMugWIvNBeTDXNTK9cbL0oFYnmWtS3DFgkyJWGk86NWkw6n7XhFC8MdKrcPtXj5rudgshAKnaqZxoaulA+MwuMLsZYGee8gzFWBqBbdRCpyyWfZKsiOu2apX28Xcz7Ot4+vKA8cTNBDo/UOTAuJeCNB3Vku0SlSwbgbO+o0He2dxRZTvE42cO3zOPCxpX52HPX5ZZNOUCc+/8hEv4a+5gEQRBEaiCjboEhL7S/dlNN1KhZiDXNVAbnzi2VU4ZcJjre2aiBqsaWiIGsup5qHKrj5OvPxU51vILKU0H1opS8AOATAB6I/PzF/A4nfYjnqZeLiifKtqpCvB2jWrmtqhB/6hSNuvAkRbIXC4mEZHIAKwrceLfDG+1bUeBG15BYaHxgxI9rN60QXrcr1xfjN8c7o/PcjroKAOpIDnnu31FXEQ2Njz2XIAiCSD5k1C0w5IX23uMdSa9plqyQu/qWAdzxg4PRx9x9Z+KenkTHG09oJBbVYjCekuYdMUWGd+/apvSExjOSEsntkx8z0dpNs6G+ZQD3/bIBwZCOQ2fV3kwV6V4vKo4q3QMAnmKMfQZAC4Db5m+E6YdsKCQqdmIeG2v8nZG8UGd6R6GZ+a0R5PZSQS5/4NCA5fmiUbc8342TXV7hvKHxIJqk180XCGP3nTPPzb7vQ9PfcCIIgiCmDxl1Cwx5ob29tgyHm/uTVtNsOobYVMafWUYAMPJVnj3aNithg7gkIDQiS5ervFDnB8cQiCSfBMIczxxtAwDL6wFAaSSpxhu7CH3wtdOWx5yLneqZvg/pXi8qjiodALx/TgdCxCVR4SWV8acKLVSxFM06VU26d84NCn3vnBvE8jy3IBSzPM+Nph6xhENTz8iMc7MTCZ8nCIIgkgMZdXNIIh4y1UK7utSTtIV3PANA3uVOJN8qUSW2eCSyUDjY1IdgKCI0EuOpjH0tGzu9lgWdygv1bMSIM2FxXg/zd/k1mmq8qsfcuDJ/xrvciRLvfUj085bImEhQhZgPEhVe2nO41dLuH/ELff0jfhRmOdE2OBFyKLcXI6oyB7IDkjGgV1Kn7B0NYM9d23Dr9/8Q7fv32zfg4f1ncLpnwgCuKs6e8dgoxJsgCGLuIKNujpiOKIW80FYtvFViKolcX2UAqHa5B3yBKesL3VpXgaePnIuGM96aAi9UvkISW/Y2XljqEc4xd/Nl47ixUww1qinPteS4xctHAabO7UnEm5cKbq2rwFNHziEU5rBH3odkiqDMJsyWIGZDPOElef5TKV0OjgWFvsGxIMaCotqjLMO/GGFMFP1lDHDaNIzF5As6bRoyHTahdl1OhnH7t2uIqlgCwNXVy/Dyu13R466uXjbjsU0n35kgiMSRi5EDVJCcIKNuzkjmjqVqwZ7o9VWGmKqe0+2bK6esL7RxZT5279qW1JuzfLMf8AWiO9EMhrEpe9fkBV1NWU50fLFjir2WFmnfWleBpw63Rhc1pmEqv0bxcntU+XjzsUjRYLw+pt5fMj9vswmzJQiTmS7kZfEN1fw37A8J5wz7Q5bqJpwDfkkVUm4vdDQY83Fs26Ex+GPiLR0aU9akW1HgRr9vYhNrRYEbzxxtgzl9hnTgmaNtWJ6XKZw74Ju54ZtovjPNJwRBELOHjLo5IpmiFIkqMapQGWIlUiHZkpwMDPgC0Jghj60x48ae6KJspqqTqpt9rKeOwzAuzw+OCec57Zpg+HkyHcrH3FpVCJfD+hppmgam69A0Le5r9O1XTwqPufd4B6pLPQticaIq6TCbz5v8unV7xTA2uU0QUzGbhbz8eTzY1GeJIuiXPpP9Xj+Ksp3oGZkwSOQ2IBpIiwF5vDqAoGTABXWOEo8LHcMTr0lhlhO3b67E220TJQZu31yJ598SQ9JPd3mR4xKXBV7J4zld5I0uCskkCIJIDWTUzRGzEaVQGSeyIuR0ri/fZO+6ag1ePdEVNeDuumoNAFHtMd/tVKpJzrQv0fIFAJTetT2HWxHWAZtmLE7e7TiOYCT80CwtoHpM+TV68LXT0eLg4Zji4PJrpMrtWSiLk3i5fDP5vKlet2Uel3CM3CaIqZjpd2WqjR4ziiAgKYMEwhzL8zIFI255XiZ6RwKW/LPFLpKiqlOnMvRUoayP/b5JOK5/NIADkXnXRG7PlnRX3SUIgkgVZNTNITMJzYsnza9ShJxp6F9jp1cokN3Y6bXkpMUzuOQdcwDK4xIty6AqXyB71xo7vQhHtqzDOvDm2T4EI4u6YJijsdOLAV8g+piBUHxjLdEFxs4tlWjtG8WLDZ24saY0GnqZyLnJzh9RhXwmK5dP9T5TrSlitiT6PUvEKwfAEpLtdmrw+ify5dxODSekHNoTnd5ZizstFlQ5hgBQXerBgC+A6kgeclVxdhxRFDFyI5mku+ouQRBEqiCjLkXMJlQxlthFdiDGSFJ5l2ZqPMSTDZeNArvNWJTZbBPGlbxjXl3qUS7eEt2ZNcMIQxErU7UAkEMh953ssYx/e22ZYKiaOYGJGkQy9S0DePxAMwIhHY8faMZ1NaXYuNJaz26mAjaJUt8yoKy1l6xcvvlS8CSWNvFyq6b6rqi8cgAsIdlMKnfCGEMgJIqiyIbOYsQm5cvZNIbcDLsggFLgdqAkJwPDMUbt8rxM5dyhEkWpLvXgtcbu6HFm5EYyma/cY4JYysjiKSSckn6QUZcCEl3IJ3JcvttpMU5UhlO8ayWS31aYJYqgyG0TnRsGlx5RIFDl3cUzklTFvGX+Ze8J4bn+y94TeOruyy3HyeMrznJiMGZRU1OWY1G1PN4+hPqWAXw0ZlHzs2kYRPE8lbE1mGLbsQI2U6mITodnjrZZau1NZohO1xCjXXQiVcR+zxIVe5IZ8AXQLuXUNrQPKYVBlqJXLt/tQG9MSGm+24EvXlcdFXECgL+94QL89GCzcB5j6rkjVhTF9HpuXJmPnyVZAIsgCIJIPWTUpYBE80fiHRe7GFcpNsbLDVMtiBLJb5Nlvc127DiePdqGUGRBEApzPHu0DTvqKpQeOLkQeLwCtLLR0dA+LIyjoX1YufiTiwj3+cRE/mF/CL2ScEKv14+H958RwjQf3n8Gj/zFpoSMH5UHS/ai7j3eYfGqxvM0zBS5/Hq8cuyz8RDKRi6p1RHJIPZ7Fk/sSQ6/fqWhU7iGdyy4JI21RNAYkOW0oxcT83WW0459jd3Ccfsau9Hc5xP6mvt8qMh3C329Xj9qy3OjbdPrCZAnjSAIYjFCRl0KSDR/RHWcvID+2k01SsVG1bXk8Mh4oZvyYkolAiJ7teRaRRxqr068mncqg1OufTYu1ZAaD4aViz+XWVApgiY24xo6XcPjlnaiBosq1FLORSzMsnpVVd7M2eCRlOnktkkyRVwWiiAMsXhRzWvKOVLKFX71T6LB8uqfulFbniP0+fwhBMNiaKXcXgoUZDnRIxVU7xnxo+ukOK+9LoWjA4CucxRJAkdFHlfS5yeCIAhi/iCjLgUkGsKWiMdtwBdQ5m0pxVPMwkyRn/FCN2Xjb+PKfIsIyK4fHxG8WkO+AOw2JhS4Np9D7PPbc7hVeI57Drfiax+yLuBUtc/sNg3hmLwXe2R88rnHzg0Kj7G6MAvDYyFByOOZo6JUd5HHhaurl1kkvRMNj1R5G+UQz8MtA0J7X2M37rpqTVKL7zZ0DE/aNkmmwhyp1RHTRSV4Is9riSjRqorNyd//Y+cGo3OVidxeCjg0Br+08eUPhi3ql/6QjtxMO8Zj5tIMh2YpVZDjsgubgeZ8SxAEQSxOyKhLEarwFdVCfio1xny3E/e9YMj1H2rqQ3WpJ27uiVyrDLCWAwBgMf5UIiCyV6t/NAA9slDSYxZM8nNS1bxTGa+y0cUBbK8txfPH2qN922sNMZJPblsVNTg3rsy3SOqvL/HglksrLDl7Tx05ZzFCbRqipRCqSz1KsRcVqtdcDvGU6zl1DY/HFVNR5fapkF9flVdVRSLCFIlCeXbEdFBtOqkiCWRUx5zq8grqjLXLc9EshV/nZTrQLF1r6Zl0QPeI3/Bgxhq6jKHE40RnTE26khwXsl12DI5NFGQvynYpN4Suqym13A8IgiCIxQkZdXPEdML8YhfQquT2W+PksqnKAThsTKjfpipUDVhDMrdVFeLttgnjbGQ8FC18qwN4YO8J3Lv9QstzuuuqNQkpp8XmcpjtnVsq0dw7iuPtw6gtz8G3P3opnjzUiodeN2opPfR6EyoLsywhh6P+kMWLBgA8skgxfz5ztE0ohWAKBcjy6Ob7JdcGlF9zuQj68rxMQXFuWyScVh5bvNw+GdVnprrUYzFM4zGVMMV0DTsy5ohEiJcvF47xwjV2eqObVaYSI2AVYzIFiEwON/djLCB6q1r7xfyxpUpYB9YVu3EqtgRBoRufem+VIJTy1+9fj9a+UZzumahBd+2FJXhXMuoYINwPQpH7wXRqWtJGD0EQxMKBjLokkMjNLRFRFJX37uH9Z4Tr9Hr9cb0wOgzjJDabhMf8A+KH0tk0Bj3MoWkTxl+ssdMn5Vo0tA8LoYv+SOjiPdestSinqaS0Vcn9AHAsYkgeaxvCk4daleGcqtd2PGg86/HION4+NygYcPLraL6WteW5Fnn0eGUD5Ne8UaqDJXOmdxQeRV6jKrdPRezzMl/f9sEx4Xk9O4n6pXwtyosj5gLVHPPQ/jMwHfxhDjz42inLZhUDLGJMfSOSiNNIIGrwmYz4Q0gHbAzwSeGXvmDYonT504PN2FApfreH/SGL8dva78ONcUq/TAWJJxEEQSw8yKibJYne3BIRRVGdWyyFGppt2XPyjKROaS6SYj1Czx5twzdvuVgpbiIX795aVRj18jlszAiLCk8sKOwaE5ToOCbCD1VjkxdwTT0jwvNq6hnBmLRgMdUkYwmEdKwocCM2xFOOtTrV5VVe/zIp5CueUEC8sgHy85Jz6rq8onHWPTyuzGu8fXOlJbdPRWw4p/n6xlP+m2pjIZ4xT7vtRLJRbYB0SxsXY0Hxe21uIMXCAWiaKHukaQz+gCyKkh5hg9kZdsvrNhbU0T8qhqOe7R3FpZJRxwBUFrgFVczKArdSXTkR0nWTiDF2Mef8namPJAiCmHu0qQ8hJiNeflt9ywAefO006iPiGWZu1eVri/C1m2qU4gGqukw76ipgtxkLG7uNYUckN0xGJXWfqPS3qvg4AIQjoVBhzrFJumH/2QXLcEAa74E4z11VXiAkZfeHdK6slxeUjgvq3KLEOSzt1L9+sgcOm/jRdtjiCwU47RpszCiQvrWqUDle1fOSX/OcDIfQXl2UFV00AROLJjOEEhBDKOXrq3Jgbq2rgNPGwAA4I7mC5ubAv73ciI/98GD0/CcPteLjjx7Ck4daowvtL15fLdQwVJ23EGCM7Zjs33yPj5ge26QNlSvXFcFp14zPcUTcSBWSrfrOpmtJg0yHDbdtFOf/2zZWIFead3IzHNhRVyHMMTvqKjAk5fwOjQWxtaoQLkdk/nMkLpQSO2+mmXjSfzLG3mSM/RVjLHfqwwmCIOYO8tTNkkQ9cAAsuVWJeE8AQGMMDBwamzAjZA/LjroKPHXkXNSztqOuwhIeWFueqxybSnzj4f1nhDC/E5KB4QuElTLi9S0DllIFg9Lu76AvgL5R0XDqG/Ur6+WtLsrC6e4Jr1usoWSGhtql3Xy30wanVPbAadfwy3dE4/WX73Tg3g9caBFiUY1X9bzk1zw3U1xc9Y0G8PGqQtg0IKQbpRfMPEk5tw+w1g+sKcsR3peashxsXJmP+/68VhBeUdUobOz0WkpL7NxSKeymT2e3fR48eh+K/FwG4HIAv4u0rwHwBwDPzsUgiOmjmmO80sZLlsuO+z4kCgh96aljwjGPvH4GAV3y1EvtdKJvNIDKwiyhr7IwCyW5GeiM2Ygqyc1AY6dXmGMaO72WUjAuuzZjEaR0FU/inL+PMbYOwKcB1DPG3gTwX5zzVyY7jzH2GICbAHRzzmsjfQUA9gBYBaAZwG2c8wHGGAPwHQAfAOAD8EnO+dHIOZ8A8I+Ry/4z5/xHSX6KBEEsYsiomyVTlSWYrD7cPdesVebGxRoP/2NjhVXmG+qi4izmHwBlaKFqIX+qSzT+3jzbZ/ESyWE5XcPjytBIVakCWVDk/OAYuLQ24zqURsx1NaV47U9dCOmAXQPuvmqNoFjJAVQVZUVz8QBg06oCABCEXlYXZeHcgJhTMhYIKYVY/NLz8sd5XjvqKoTXXBaX2V5bhsZOL8zLhSKLK5VXVVVTUF4Ie/0hpfCKanPg26+eFM7de7wDO7eIYZ6qYs8q4oUJp9LQ45x/CgAYYy8DuIhz3hFplwF4PKkPRiTMdPOHzc9yt+T9Ptnlxc8jGyKmqq8q56u6xIP+0QkPU4knQ2inE7rO8dgbZ4W+x944i09fsdoSzq2KvlhX4sGbzRPe+HUlRoTATEWQ0lU8iXN+ijH2jwCOAPgPAJdGDLGvcs7jbTY9DuB7AH4c03cvgN9yzh9gjN0baX8FwHYA6yL/tgD4PoAtESPw6wA2wbj11TPGXuCcL5wQC4Ig5hUKv5wEORwuHhtX5uOea9ZGb3CqPKpEw1VM44HDWBD1eP2W81SGmUrV0pQIZ5io+WYu5BkQXci/eqJLGMOrJ7qQ6bAJfdku0Qu1raoQVcXZQl9VcbYyNCrTKe4dZDrtylwZlRGzcWU+Ll9ThAyHhsvXFGHjynw0SLlsnVK+Tt9oQOn1u3JdsdB35bpi5eJHznG7fXOl8nnJynHD/pAlrFIl9KIqIK76zByVPndHIwtqlXdNDq2sKRMLNNeU5ag/z6b3l8mm5gSqx5zD0M0VpkEXoQuAOgmRSCmJvueqz7JchmRgNIBA2PjumHmrqpDpREWFFhs2NnlbhaYxS97xWDBshHOzietUl3qU3/8dEdXk2JBXIPH7HAEwxi5hjH0LwAkAfwbgQ5zzCyO/fyveeZzz1wH0S90fBmB62n4E4OaY/h9zg4MA8iKbWTcAeIVz3h8x5F4BcGNynhlBEEsB8tTFYTbqXiplx51bKpVeOfkxZOOhyONShrmoPCyqUE5dNwxEPSZsKTZXDjBqGI34J3bJi7JduPaCZULY4/qSbBxuHoiGPHoyHagqEkOB5DZg5MDUlucI16otz0G72yHsGl9Q6rHs5nd7/fibn72F1yPeu9dP9eJvfvYW3JJR5LKLBmhhlhOXrS60hJTK3sZ1JR5c5nZajjM9WmZo2M4tlahvGcBTh1ujHsNbI+GtsYvX011eS1ilKgxUlSvXJNXe2tfYbRnvgC+QcCFw2UBu6h21fNYONvVZvMCmcE7sc1c95hwKJfyWMfYSgN2R9u0AXk3FAxGTk+h7rpr/7rpqDfbE1I0syHICMdL8vV4/KvMzBbl+uQ0A/b6l4aVz2jSMxUQEyG0V5bmZKMlx4fzAROTD8twMI5w7RllUrgEKGHnHG1fmY/edU9+D0tH7Ng2+C+CHMLxy0TeCc94e8d5Nh5KYDatOACWR35cDOBdzXFukL14/QRAEADLq4jKbRWu83WU5XCW2JEAgIll/a12FxXhQhbnIpQpUYaBffe4dIfTvmaNt6PX6LVL/60s8gira+hIPXj/VIzxet9cPLVIfzcwNk0P8GjqGMSwl48tiKoChznb75krBqLv50grLYpABeKmhU+h7qaET/+umGqHPIRlOfaMBtPaJi8HWvlFLPkq+24nqUg/skZw3e4xoSXWpJypqMjGgSCZfxKslG11y2CaDVSI83+1EVVGWJcxUXoi91TqAK9YWCcXYzfd1JpsDZrisXDtMNtaePNSqzMVTbixMUUw6GXDOP8cYuwXAlZGuRzjnz6XkwYhJSaSAOBB//jOdUfGcUk19vknbSwmVANRUlOS4kCfNJ3lupzKcuyeO2JPqHiSHypJRNykfBDDGOQ8DAGNMA5DBOfdxzn8y04tyzjljLGmaP4yxXQB2AUBlJQU2EES6QOGXcZiNupcqfE9FvtsZXXzrmDAANM0IkdE04+2JVTEEjBBNuVQBYORrmSIZgFp1MtFwJjm/pW1ArI/2SkMntteWCcdsry1T5tmV5GQIfSU5GZYQyob2IaVnSrVgkY0/hxTKub22DM8fOy/0PX/svKUEwfH2IRxs6ot62zhHNLTwjkcO4F9fasQdjxxAfcuAsmSEVzJgZaGUmvJcFElhZ0UeFzzScZ5MB0Ylz9qoPwSfVGTZbMvhvubmgM4n6tnJKpm3b660fJ5VYZvxlFCVcC7+TB1HAfyac/7/AXiJMRa/4joxJbMJt1N5/mVU8588Z50fEucdM2w8Frm9lFCp/04VgdnUN6qcT1RhlYkqhKpCZQEKyZyEVwFkxrTdmHnkQFckrNLMFTZvbOcBrIg5riLSF6/fAuf8Ec75Js75puLiYtUhBEEsQchTF4fZqHupwvdUPP9Wm6V9VfUyISTu4f1n8PK7Rs6b6TmRhU1OdXmVHhYVqhppr0lGEgdQV5kfDXtU8VT9ORz9X9fjxeMdeLO5H5etKsDOLZWWHDKnXcPV1cuizwEArq5eZjGwOIAOSVClY3AMNslgs2nMYojKKpzVpR4UZDnROTxh1BZkqXe0Vd4qVZ06lYHccF58Die7vJaaT7fWVeDpGIXMW+sq8IrkffSOBVGQ5YRvcOJ5FWQ5lbX2VKjqBcoqmTu3VKK61DNpoXsASiVUlSfwYFMfgpGcqFCYp2yHnzF2J4wd5wIAa2CEGz0E4P1Jf7A0YDbhds8cbbN4/lXnquY/c24yGRkXN0Ta+peuVy5RHDYWnXdU6Do3IjliwljNSA5ZSVTOYZTbJqqNLgrJnJQMznl0IuacjzDG3DO81gsAPgHggcjPX8T0f44x9jMYQilDnPOOSBj6/Ywx8824HsDfz/CxCYJYgpBRNwmzUffauaUyrjFnolJ7k40M2YDZe7wD/ZIISP9oAA++dkroe/C1U5a6aef6fdEaaWF9QsxD9pot87hQnpcpGHVc2usd84fxwG9OCPluD/zmBFYXZVlUJ1VeOVVNqv0nxZBPzhiYJODBGLM8Roe06/+lp45hfYkH73ZMGL8V+W6lQInKeH94/xnhuF6vH+ek9+pcv8/iSQMAl0M0EDeuzMfuXduE63/jlw3COQea+vBX16wTFr5/dc067GvsxumYnCJZmMZEJXRzXU0p7nvhuKAumMjnubrUIxSdNw1BOXQznpc5BdwD4DIAh4Co8tyyyU8h4hEvrDwRVUvVpkg85PDlW+sqsOfNVoS5IeYRkoyX84NjltqaqlqbSxn59dRgfLdMbtu4AipUiriqEjfmsbHv81RKvOlUWDxBRhljdTElBjYCGJviHDDGdgO4GkARY6wNhorlAwCeYox9BkALgNsih/8GRjmD0zBKGnwKADjn/Yyx/w3gcOS4b3DOZfEVgiDSmEmNOsbYdzHJfZVz/tdJH9ESQRabUHHzhuVROX2zLRsZjZ1ewbO2vbYMPznQLFzHYdMsAgJjQR1jQSnU0juOZ6Uaac8ebVMaLDWS0SVH2AV1HS9KHqcXGzotuSGHWwawPFcMvzzV5bV4G59/qw1hKXQzHNIxMi6GJY6Mh3BWEhUZlYyrc/0+y870oC+AA03i62Hm+73S0IkXGzqjHq5i6dxij8uSG9g2OGYJ+wyEdKV3V76+EY46YZSW5GRg55ZKtPaNRuvlmZ8Z2cMJKGTlZeVKxpTexsZO75SfyYNNfdGwNz1WRVUS5pFzAOUd/yTi55wHTOOeMWZHeq31k0qidTVVi3h5TjDb8uexvmUAH/n+H6KiSk//5eVG3bQYMQ/Zu67r8rZR+r3JTrsGf3hiLsty2fD+C0uw72QPrl5fjHs/cCH+4bl3hDDwZ4+2oTwvU5kvK5e4Ub3Pqve0utSTkBhTmvI3AH7OGGuH8dKWwhBvmhTO+R1x/mSJOOCccxibWarrPAbgsUQHSxBEejGVp+5I5OcVAC6CUSgTAP4HgHdTNajFTjyxCRlVIVkZleekRyrc3TPqx20bKwQD8baNFZa8MqdNUypMHm2VpPNbB7AlsigwF2Z2TQwNynDYUFngFgRWKgvcOCLlYAyMBiwW4fnBMQxIRujx9mHLQq9PyrEz6RqaXNacMVgMv7O9o1glqXM67Roe+M0JoU4dAKWRm5NhhzfGwMzJsFtyfmSlSwDK66vCUetbBvDDN84iFOb44Rtnjfp8Uljsa43dqC714PaH/xAVdtlz1+X49BWrBS/fp69YbfGOno6E6ALiZ1JekMdV15REYqbjtZkl+xljXwWQyRi7DsBfAfhl6h5uabNxZT6+dlPNlMXrVUadmeNqzgkDvkA0/9Scn3bv2oYv7jkmhAN/cc8x+ALi5owcZih/9wlDnfjFhk4EQsYGWn3LAE5Km2Enu7zRnDpZnVYucQNYa6UCsISMp2th8UTgnB9mjF0AoDrS1cg5XxqSrARBLHomNeo45z8CAMbYXwJ4L+c8FGk/BOC/Uz+8xYG8MFbVJlMZdarjqks9wm7qrXUVFs+JPygVxw7quK6mFA+/3hRdcF1XU4on3xSv7wuEMSQZSkNxxEhiw+s4ALfTjkCMMEhepgNnJMPpTO8oHFLBJYeNKT1JIWkRJ7dN5F4dQPeIX3VoFE3TMB4SvXfjobBSiVIlqDIueQz/eH4If3fDBYLhdM816/CvL/1JOG40EBIKx+++cyt+fLBFOObHB1tQUy7WkHrurTbku53CDvzD+8+gWwq97R4ex0P7zwh5TQ/tP4Mf/MUmAGIOk2nAmcie3L3HOyyfNdNDIy/oHnztNIKR2omhyGJwR10Ffl7fFn2uZnhXCvgKgM8CeAfAXTBCk36Yqgdb6iRavF6FPCfku51Kj3DHkJQbOzQ2pddtslyyxY4qrJQxIHZPSGNGiPiJzgmjze2yo88bENSR5c2wAV9QaagD6hI3qj45ZBxI38LiCbIZwCoY66c6xhg45z+e/BRiIbHq3l/P9xDmBNXzbH7gg/MwEmKuSDSnLh9ADiaKZ2ZH+pY0ieSZqEJalknhdcsk9UcTVRienM/AYa1Jt7+xWygHcGGpBw/vPyMsuB7efwZMchwxzSq77w/pFiNmPKRbQjxH/OJiwqZplqLfvV4/Mp1izTjGGHJcdkGiK8dlx4BNQyAm1Mhu01DgdqAtRiykxOMS2iZTieKV52ZgmcclvUY5yvAuucady27D1qpCoZTA1euLxdIGMDyopbkZgrFkYxoCIaMdCOl49mgbQpJKYEjXcUYSPDnTM4IV+WKufdfwuDI/8Xi7WOPO9EjKOUyyp67ALeZXbq8ti5s7Iy/oVPlzqppXyYYxZgPQwDm/AMAPkv4AaYjqPb/nmrVKo0Ce/2LVaU1PnWpDaGWBW6gvt7LAjTNSvTmZpWvSWQVQHDYGu43BF5iYGzIcVi+/nTHL966qKEuo+VlVlKU01ON52xLtI9Qwxn4CQ7DpGADzBsYBkFFHEMS8k2hJgwcAvMUYe5wx9iMYEuP3p25Y849prP3by4342A8PxpV2Vi2S7r5qDcxIPLsG3H3VGuW5Zo5UbHtrVSHMVC3GDAGRqKcr8vMr2y+MHqMxo60qaF2cLRqTxdkZSrlxh038GDhsmsXwkOviDvgCSmVKuU7d8FgQvZJnrXfEj5UFohGzssCNmy4pF/puuqQckuMPNgZo8kpSYl2JB3WV4uKkrjIfJzul0KVOL/IkYyfP7cC3P3oprlxXhAyHhivXFeHbH70UX9xzTDjui3uOWfIMx4Oid/BUlxcXlYpeuYtKc7BWEjxZW5ytfF/6JEGcvtEAVkshpKsjizq5BINcpyrP7cTdV1ZhVaEbd19ZJRQVl8t2yHLmA76A8HkzF/dyaYVkE6kF1cgYo0JLSUL1nptGwRune/GNXzWgvmVAOf/FerpNT51KfKg0L1PoK83LtHjc0wnZCxkIcyzPFV+j5bmZlpIuQ2NyiPoQ7rpqDeyRSdFuY7jrqjXKexCg/n4m2kfEZROAKzjnf8U5/3zkH2kLEASxIEjIqOOc/xcMad3nADwLYJsZmrlUiXejlFEtkjauzMc3Pnwx3reuCN/48MXCznfsYlmut7avsRuNnV4hvG5fY7dQ4sCsQxdbW6ix0wsmWRiMc1x7gWg0XnvBMmVR7vXLRCNj/bJsuJ2TO3F1naM4WxIUyXZZvGg6h9ITqKrBNizVahv2h5TetZwMcWyy4TfkCygVIbu9UjijdxzbpFCzbZFF7hunezEe1PHG6V7Utwzg3ICUZzfgsyzC5Od5ssurHL/KKN+5pRI3byhHntuBmzeUY+eWStSUiQZhTVkO/JLh6A+GoyFwHBMhcDKDvgAeP9CM1n4fHj/QjPqWgWjY1uVri/C1m2qEQuaxi/nYz7hz7oUT8gE0MMZ+yxh7wfw3lwNYSqhqE8bWOTTD/FRFqVXGvep7pvrcpjDnclHSI23Y9IwGLN8rub4ng/H+7dm1DV++oRp7dm2L5sHGbgSSsElKOQ5DHIUgCGLBkVD4JTOk564FUMU5/wZjrJIxdhnn/M3UDm/+SDTPRBXmogqHAWARuFAVApeLPXcNjxuy/twQqdhaVYhvv3pSOGbv8Q6U52UKoYrleZmolwRQ6lsHLB64p+rPISgZI2d6RnBhWY4QvigT1DmGxuSdZbWwSYHbKYiMFLidaJfybtqHxnBaEgE43eWFTco9sTFgfYlHGJvDpgnKmf2+oDKPLzfDgbHghAcrN8OhFImpbx0QlPoe2HsCDhuDPySGUK0v8Qi18OTcGV8wHD8UNzZWFoa4jhny+fyxdly2ulAoUs5gFClXjXeF5PVUScH3+4LKTQr5cxovPG8eQ7T+11w+WDqQSHgtAEtRaqMcCoMeEwr++BtnhWsPjQWVubbmFEYYXLI8VygZc8nyXGRJXs/1JR60DY5Fa9KZeavy+ydvBDZ2ehMuU0FMmyIA7zLG3gQQnfw5538+f0MiCIIwSDSn7j9h3O//DMA3AHgBPAMjYXhJMh0FMPkmq1oYHzs3aBG42FZVKORMbasqtOSp+fyhqFBKWOd4paETNWU5QoHomrIciwHHAUsey5meUWQ67cDoRFhPptOO4THRwBoLhgUjTEVY50pvm1xbSQOUeWVynapQmCvr73HJROFgWCsZdS6HJnjJHBpDsccl5J6U52bgXcmzFuIcpyUj12iLBuGZnlFsry0T8uy215ZZwiOddk3IWSzLycQ11cvwSozS5TXVy/DA3hPR10iHYTS2S4qeD+47jf/46KXIkEQMfn7kHEb8E17DomyXUrRErrVX4HagTaGQp5JCV21mzJdwAud8P2OsFEatOg7gMOe8c4rT0oJkLdpVqpbnB8U5wSxZEYx8b4NhjkYpnNnkzeY+azuNDbqKvAxhw60iL8MSHt3j9aNC2pwx3w9AnpFE5I3AyUSQiFlz33wPgCAIIh6J5tRt4ZzfA2AcADjnAwBSVm14oaDKNZBDKFV9qpBMlcR+rCcGMDwxshCGvOv91JFzaJL6mnpHlapoTin5zKkxbJZu7JtX5kOTjtM0ZvEiynBwFEhqkgVuJ7i0+uAMygWMilEp/HLUH4JbEhBwOzT4pONCUsxnUOd4SzJy32odwJhkhI4FwnBK+YROm4Y1xWLe2priLKwrEYVS1pV4LAutfOn9vGJdkTLEtkF6jxvah+GV8mfMmnaf3LYKKwrc+OS2Vdi4Ml85jo0r83Hfh2rw3nVFuO9DNRZRC8BYIMphd/FCh+Xj5hPG2GcBvAlgB4CPADjIGPv0vA5qAZBozm8iqFQte6XvaK/Xr1TrVYUXe33i99PrC6V1Th2XogY4Y0qxpFqpZtyQLyAY0c8qwqoBY4NJbieaPkBMD875fgDNAByR3w/D0BggCIKYdxL11AUjSnQcABhjxbCqzS8IkhlyIhcQVyldArDUaVJJTOdLghz5bgcOSTfaQ019GJQX49Kqye204dBZ6byzfciUVBxHxoLwSflXvmAYb5zuFfreON2LrasLhVCgrasLLaIiMhl2G7IzHUDM4i8704Hh8SB8MSUXMu2a0AaMvC+3Q+zPdGiWUgXdI36LOmWIw7JAkY21kbGgUuVTJhjWlcbw+hLxMTMdhiKm6YXUYBjuj/6+SThOzgmsLc+1LITjGcvL8zIxHPOaL8/LxJOHWoUad5WFWZai6ss8LmW474DkRRwYDVi8bfGk0BeYnPmXAVzKOe8DAMZYIYA/IM0L8MZTLp0JZq6czidy5dqkHNK2AZ8lPNBp15Tql6oyJOmMasNGLhHjdtrx/Fui0dYk5T/Hc3aa5XLkexUVEE8+jLE7AewCUABDBXM5gIegKCJOEAQx1yRq1P0HDJGUZYyxb8LYMf/HlI1qhqiMrpkudFQFxAd8ActC6vzgmKVOE2DNVVpf4sHhmJDB9SUe/EKqkXa0dQC5kvcry2nDSIzRctMl5XjsjWbhmLGAjoBktAyNB2GXPHCcq0McxyTjbyxoFS2Rcdg0paF6rl88Ll75KdXCj0udXIelwLfcBqwlDnpG/dDk3XHAEvIZDHNINiN0znHorPgkDp3tx08ONAshkz850GwZiyxi8vxbbcqyBF3D40Loak6GHSsKxBpVKwrceHDfaeF6D+47jXuuXiv01ZTnKhf4VcXZOB0TflslKW4Cxvfl6y8cRzBs1D80pdBVzGN+Th+McG8Tb6QvrUk05zfRa5llU+yRXLlH/1vcsOgcGsdaSVCJAcq5I50xjePYdr7bieGYcPZ8txNupw2DMUZdWW4G/iRtpHnHrJtE8ZBLmlAB8ZRxD4xQ8EMAwDk/xRhbNvkpBEEQc8OU4ZeMMQ3AWQB/B+D/AOgAcDPn/OcpHtu0SWbIiSpPwVz8MCAqFKAKU1Ipx9VIN+Sa8lylHLhDMsTkRdIvjp2Hyy4e47Iz5Eqhf7mZDmsiBrMaQDoH3j43KPS9fW4wbjHw6LgCIZzplkKIukeUHjLVbr4szhIM6bBJMpY2G1OWNBieMt9PbQyqQsXKJWnx8txMhKUcwLCu49fviJ+HX7/TASY9M9mAbe33KcsSBMKy51K35Cc1dnoxFhCf51ggZAmrHPAFlJ9LVbkMOUz44f1nhPAuMw9PPi6ZoX4z4DSAQ4yx+xhjXwdwEMBJxtgXGWNfnMuBLCSSHSbLY/4BsBhwa5dlKzeE5DIecjvdcEt1Ot1Om7Jsindc8t6NB+Gyi7djmzYxw2iA5btvEu/7SaUKUoKfcx59IxhjdqR1xihBEAuJKT11nHOdMfYg5/xSAH+agzHNmGTuXqvESABEVBV5VF2xWAqHK/a4kO92WpTj5NCa599qs+SChXQOvxSqIxsKncP+aJ0ik/GQjlBYPG/IF0Su2wHv+MQiK8tph88fFq6pMWtOWkjnkdp18e9VHMCANFa5bSIr3zFmLFjCMQOxaSzqLTBxaMwSuukL6hZDz/J4sIatxlPeW5bjQku/T2j3eMcFcRenzRpCGgxzeP3q52tSmpOBwizR81qY5YRTk/L4NA0dkhpox9AYPnCxKM5y5bpiZSgXYF2Uy+IXx9uHcF/EK2eGCavUV1Xe7mSG+s2AM5F/Jr+I/PQojk0rZhomK3tdnz3aZsndqqvMF8SI6irzsf9kj3Adh01Dhl2MJJDb6UZupgMj/rDQ7pPCyvtG/MhwiMZfhsOG8rxM9IxMGG4rC9w42zdquZ/J7988fz/Tjf2Msa8CyGSMXQfgrwD8cp7HRBAEASDx8MvfMsZuBfAs5wtXmDqZISeqmmkHm/osNeNUHjhTKc7kePsQWvvFHJXWfp8QfgMAg2NBrFuWbUjyx8FhY5YwwnCYIygZYGMhHapgHdlIDHNY8tsy7JrF0JMJhjk0BsQu3zQATBMLlds1QJedflxdkNcSzqjIg1M9B5kMu2apGRePE5JoyYn2YSzLyUBzX6yhl4GWPp/wCqsMR5nWgTGMSJ+j4+eHlB5Ut8uOQMz77nbZlaIoLzeIwo8Hmvrg9Ycsi/Ka8lxB/OJ0l9cSJqxSXzVrlnFM1CxL5mbJdOGc/9Nkf2eMfZdz/vm5Gs9iR2W0qzzYr/5JFPiR24AhSCRvMMntdGN5XibOxyhdLs/LFMLuAeD84Dg+vKFcCI+uXZ5rURNeUeDGP99ysaVcjpzDPZ/fzzTkXgCfAfAOgLsA/AbAD+d1RARBEBESVb+8C8DPAQQYY97Iv+GpTpoPkhVyogqrVIW5vSapG77W2K0MN5RvtFurCpXepOX5oqy1JM4It9OmVJhUsV4yCuS2iao4+FRGHQeUqplyLpvGGAqzJW9Vtlo4VRUaOhNsNqZcqKqQvQojgbAlF9GuMeVzzbBP/vXx+UPKenmqz0KZVGi4LCcjulhjmCj6LYdoueya8rk2SBsLsvrq6S4vvJLB6fWHlDXLVEXKFxBXzPcAFhMqr86tdRVw2ox5zWljuLWuAoNSzcnBsQBWF4mqsKuLspSbM+mMXArGOx5Sfj9VashFUtSH3AaAZ462IRA2QsnNzZkF/v1cUnDOdc75Dzjn/4Nz/pHI7+n9oScIYsGQkKeOcz6rUKeIcuYRAOc55zcxxlYD+BmAQgD1AD4eG6e+EFCFVQLWMLduKYSte3gc10j5TDXluXhOCr88PzgGu40JxpPdxtAmefRkL1cgzOHQmLB4ktsmR5r7LW25MHW8UEW7zSgyHA8NgJ0xwUNoZwxjITlfjGNUMpzkdvRxp2ib2Njk3jp5xzveeWZhc/n1cEiWtMOmoTjLic4YQ784y4m+ODkuJmHOUZ6bYamXp/LAyaUsgubngos/ZSGdXLfTIqBQW55rqVMne4X9IV35equUEOtbBnDfLxsQDOk4dLY/KqiylIsbM8ZuBPAdADYAP+ScPzDPQ0oKW6sKYbdpkRzWiTIWu3dtE97LvEwner0Tn++8TCd6pLmuRxL8AeJ/95YiKlGUU91ibuypbi9WFboFz/+qQrdF2CoQ0pEj5Vj7/CGLV1W1YahSv11q38eFAmPsLBS3Js551TwMhyAIQiBRTx0YYzsYY//OGPs3xtjN03ycLwA4EdP+FwDf4pyvBTAAI5xhQbGjrkLwkuyoq1DmnmyTvC7bqgqV4ZfnJGPtXL9PacXIxbDlQ7KcNqU3THWzV+WjqY5zSCFTDhtTqkzGokPtqVOR7IWffQoPGWB4HOS2yohReRE7pMVrx/A4xkOSIEQojKk2aDnnOCKJihxpGVDmxamEYw429SEUEXgJ6YZCpWz0t/X7ovlzwETx6L5RdS1Ak21VhUpj0Fz0MwD2yKL/2aNtCESMwEBIx7NH24wwsB8cxL++1Ig7fjDn4ikpJbIJ9SCA7QAuAnAHY+yi+R3VzLHU1pQ2CgBrhMO1F4gbU9desAzH2sR5TW6nG05pHnLaNchR3yEd2HXlGqFv15VrJjZtIgR1jgOSsJdKcGtHXUU0xNVuY9hRV0E16eaWTQA2R/69D4Yy+E/ndUQEQRAREjLqGGP/CeBuGHHkxwHczRh7MMFzKwB8EJG4c8YYA/BnAJ6OHPIjADdPa9RzgKqgc7cUktnt9SsLiJ/uEndrT3d5laGQKqNIzpeTsTGGYFgW7ZhdJaig9JjBMJ8yX0z1uLMdh8rgVBGe4nFsGpAjvS85mQ5leOdFpgBOhIvKcpRGl6y4OTwegk2OjZXg3FpDbywQtizezLw44TEjoZCy4I5K/VJVPFoO55RDRb3+UNQrB0x45aIDj/mpMoZVht48kYokrssAnOacN0UiCH4G4MMpeJyUIysjyuF7pgHw5KFWfPzRQ3jykFFX8YwUHii3CWuJlHhztxwK3dA+ZFE5dmgMJdJ3VvX9ByY28czNPTNM28ZgEVQRjHli1nDO+2L+neecfxvG+oYgCGLeSVQo5c8AXGjGjjPGfgSgIcFzvw2jHIJp1RQCGOScm6vYNhgFPC0wxnbBKPSJysrKBB8uMaYKHatvGcD/+sVxhHWOP5wxanipCj+fkgy4U11epax/+6CobtjUM4IMuyZ4rTLsGsYD4Un1kft8AaXYiUy8ayRSGDjRBIG5yKdRhUxOpYGi64kvuE5K79/JLq/y9VU5IXNcdvQE44dgZrlsgvqoyaAkhDPoC6LE4xIk40s8rrjlC2IVMePldcqeADlHstvrx466CmiaEWarRXJEY72D4Yh3UOXR2yc9Zo93cs/gTGGMXcw5f2eSQ76TgoddDuBcTLsNwBZpXCmbm5481CoUko7Xlwixwjf+oI63pAX+qS6vsibnYSl0W24TatXgDIeG8VjRKYemvEeovHx3XbXG+O5GRFAqpNqVx9uHMOALWMS67rlmrUUgLJk1W4kJGGN1MU0Nhucu0XUUQcw7q+79tdBufoD2JJYSiU5GpwFUAmiJtFdE+iaFMXYTgG7OeT1j7OrpDo5z/giARwBg06ZNSbMY4t3wYhdOz7/VFg1BDOsc/7L3BOoqxZuix2XHb090CX0Hm/osXrncTIehehhDx9C4xVPn9Ydgt6nz40wWo7acMo9PcZzKI5SIASsT5okXRVZJi8fLvRPGxgG30w4gvlEXCBmLvDFpkdczIuUmjYxbDCdPhh2HJI/eoaY+y3h9gbAyr3PDijxRwdOTIZZu8LjQ2OmNGruhMEdjp1eppCfn5+1r7E5I1CFJ/CdjzAXgcQBPcM6FLxLn/PFUPfBkpGpuUhlYACx9iRp23rGg4MU9L20uHTs3aMnnfOyNs3FLZ6QrGsQNMLlt8r51xXjl3S6hLYui9PuC+PQVq/F228Rexe2bK7FxZT5+FpPbKHu/TcEtldKlXN6CyhykjH+L+T0EoBnAbfMzFIKYPbKRB5Cht5hJ1KjzADjBGHsTxtrgMgBHGGMvAADn/M/jnHcFgD9njH0AQAaAHBg763mMMXvEW1cB4PwsnsO0Ud3wGju9wsLJ4xIXz639PsuC6Jd/bEe+24nO4QkvRb7baTHgjp8fUhsnkqWg61OHPTrsGnQetpQNSFDBP+WoDLhEjbpkIhdPj1dMXfagtg+ORUsRmsh19hD5s1xAWMYf0lHocWIsxpuXlWHHsOSpC4W5pYxFvy+IziFxsX20dQClUohWU88IapfnCqUJVhdlWcRY1pd6BKOupjwXe4+LBdX3Hu/Azi2V+NpNNdHNjY0r89EkLUqbekctxc1lozRZcM7fxxhbB+DTAOojc9B/cc5fSckDGpyHsXFlMmdzlOo9UR2zc0tlQkI1cqhvWPogVxa4Ld8BcJ6QRz+dUL0eqnktSyo+nuW0YUQyiEfGgqgu9QiCRNWlVi2yHXUV+Hl9W9SA21FXkXDZHipzkBo459fM9xgIgiDikahR97WZXJxz/vcA/h4AIp66v+Wcf4wx9nMAH4GRq/IJTBQUnhNUN7xvv3pSOCbDYYM3pojs1qpC/E6q1eQdD6GmPFcIkVlR4LaIVEyndtNUiyd/UI/kUkwsJ+T2QmM+FoiJevhUIaQ2TXw9ORgYuGUBJ5cXkGEMGPdLAiv+sDJsq31AFEBpH/AhJ0MsZJzttCM/ywnE1LfKz3JaPC3H24dx2WpxERdrXJtiKttrywRv0PbaMqWSXr5bzE/MdzuUKpmpgnN+ijH2jzAUdP8DwKWR3Nyvcs6fTcFDHgawLqLSex7ARwHsTMHjWFC9J619o0JfTVlOwuF1Rp7WhMEvqy6+2zGML15XHd3QAoBPv7dKaANT12Rc6iTiqeMwPJ+xHDs3iJGAmC87Egjhof1nhHy5h/afwd1XrbG8p7vvtBpwiRSdT2bNVmICxtgXJ/s75/zf52osBEEQMgkJpXDO90/2jzF2YJqP+xUAX2SMnYaRY/fodAc+HeSEcfOG98Xrq6OLoe21ZcI5l0qhlutKPCjIEpUSC7KcGJQWs4O+ADIdoq2c6bArd3BVhsdU5l9I5wu6NpQqhHLRoajxIGui2DRMWiQeAJw2DaNS2OdoMKwsIaFSKs3OED9H2Rl2peDOmLRoHAuELEbWoC8ghOF5TW9BpE+D4S1QKe6pHjNWnMGZQk8AY+wSxti3YKjn/hmAD3HOL4z8/q1UPGYkguBzAF6KPO5TnPNEc4hnRXWpB+YekC3iwYkVY2IwxJgSVTwclz5/cm7p0FgQO7dU4uYN5chzO3DzhnLs3FKpVI9NZ/KzHJO2TSoL3Ja2HLZfV5mvrFNn5j/qHAgEJ0ImZ1p3NVk1WwmBTQD+Ekbe7XIYAnJ1MKKZZlX6iSAIYrYkK8E3Y6oDOOf7AOyL/N4EI4Qz5cTb0ZZ3O80cFTPsDABejsmNyHc7MSIpFI74Q8iVVBb9Id0SlucdDyq9MypmagTNR4jjQmW2z11lbNukYziPH9Jp4nbaMO4Tj+HcMKDk98oh5VI6pRqGgPGZ8Ui1rDwuO3IyHDiPiby6nAyHJQeqURJrePVEF870jka9DToMb8E11cssinuy0MOoPxQteBwbppkivgtDOfernPNonCDnvD3ivUsJnPPfAPhNqq4fj2eOtkU/f2FutG+tq0CGwxpKpwqvk0Myj7aKwijy98Jp0/Dkodao+M7zx9px2erCBb1xNB+oNmKUxynaW6sK8XqMp3VLVaFFaCjf7RBUbHVMqF0SC4oKAHWccy8AMMbuA/Brzvn/nMnFGGP/H4DPwviovAPgUwDKoKjjG8kt/jGAjQD6ANzOOW+e1bMhCAUkprJ4SbhO3RQs2Dv+dGr4VJcaHojqUo/g6TDD1VQFY1cXZQl9q4uylItxlSJmohL+ibAkPGRJgsV5IWfzesuhli67NqVoy9B4CJkO8bxMh6Z8r8pyM4W+stxMi5dlPBjGL98Rc6x++U5HQjWvRqUw0KGxoFJgRVXzThVSZoZpvnG6F9/4VUPKZNM551dxzn8Sa9DF/O0nKXnQeaRXUhHt9fqVkQWmUX352iJ87aaaqOLh7Q//Af/vpUbc/vAfUN8ygGzn5Pt2DruGPYdbhT65TQBrl2Vb2qr5pEYqkVJTlmN4tW1GGQKnzVCZVXm/VaUPiAVHCUR1rECkb9owxpYD+GsAmzjntTD2Dj+K+HV8PwNgINL/rchxBEEQUZJl1C1Y4tXwkZHrOcV6OjiMXdPleeLCe3lepjKMZlTy6Mnt2OtO1p4tyTQaFxOyXLiJ6vVO9DVSGeVTw5Uhu3J5BFVO2oAvALt0oF1jGBiVjhsNKGteya+BbOg6HTbcvllUULx9c6Wy5t2NNaXCcTfWlFLB4xQRb06QQ+lURvVD+89EBZNCuuF5zc5UhwmaBEI63pWMB7md7jg0pgyh1KRpRtOM0NjYTREzdJbH/AMMERSnXTMMvYgICm3MLQp+DOBNxth9ES/dIRi1dmeKHUAmY8wOwA2gA/Hr+H445rGeBvD+SG4xQRAEgMSLj3+eMTZZfNWCnVhUu9wq5EWq7OloaB/CCilfYkWBW+m9y5Ty5zKdNsgpKXORopKuiwT5PZmMRF+jmZRWcDtscEjJeA6bFhFimcCmMaWh1ysZcL2jAbglVVa3y6aseSWHbuVJi/uashzs3FKJu6+swqpCN+6+sgo7t1Qqa95dV1MqFCm/rqYUW6sKYdcM74MtUuOOmD2qWpgqVEa1aoNJVl6UYQyQ0jkt7aXOVFOxzjl+erBF6PvpwRbo0uuk61Buijx7tA3ByIQRDHM8e7QNG1fmY/edW/G3N1Rj953GfenWugrBo3drXUUynh6RRDjn34QRIjkQ+fcpzvn9M7zWeQD/CqAVhjE3BCPcMl4d32j9zMjfh2CEaFpgjO1ijB1hjB3p6emZyfAIgliEJOqpKwFwmDH2FGPsRsXu0MeTPK6kkkjC+NaqQthtxs6pzaZhmSQdz2GtxVXkcaFDCmHrGB7HhVIIzoVlOTMyCoiZESddMelM9eUZDYTRNyKG0/WN+KMLPJNgmMMuGX92m4YiyctXlOVEVaEY7ltVmIVtkkG1rarQ8lldJYUJX129DPUtA3jsjbNo6fPhsTfOor5lQBmS+czRNiHP7hmzfpY5DczRZjFjrHTqoxYXsoiTKmdShTxfba0qVIaCD42rowSi0DwExxQ7bGFufJdjGQ2ElZspcq7cvsZu9EghtXLbZOPKfOzetc0w9HZtI4GThYsbwDDn/DsA2iIqudMmslH+YQCrAZQDyAJwYzIGyDl/hHO+iXO+qbi4OBmXJAhiEZCo+uU/AlgHQ6XykwBOMcbuZ4ytifz9eMpGOIfoug4e+blGWiDVlufCJ4VR+vwhpShKuoY9phtT2TI6t6oNhsJc6R3MkBaIGXZNaeipxHqGpb5hf8jyWW3sFMVOfnqwGc8cbUMgMp5AmOOZo21KA1GV53WwqQ+hsPF9CYXnLPxyzoVLUokc8l3fMoCGDrE8hdmWjT8AE2odkZ/ynLWmKAurCsXoAtkjLEcVpCOJiMBkOjVL+1OXrxL6PnX5KjT1jAh9TT0jyu+76r0HSLFyocMY+zoM9e6/j3Q5APx0hpe7FsBZznkP5zwI4FkYtX3zIuGYgFgjM1o/M/L3XBiCKQRBEACmkVPHOecAOiP/QgDyATzNGPu/KRrbnPLM0TYhH+VHf2gW/v4fvz2pFIyQBRDDOtAvhc3JbSJxVHll84HKUJ/KqGOAUsRERbmUr1mel4kNK/KEvg0r8pSfLdXYXj8phtwMSx6bs72jyvO8kjHo9YdQLHn9ij0u5LudFpXMOWBR74/IhpkqhFIurWLWDpQFUA429SEYMchDYY6DTX345R/bhXN/+cd2S1Fr2Ss1X9+nxUS206YMmb6uplTIn7uuplSZQ6sKqaWc1EXLLQD+HMAoYKjwYualDFoBbGWMuSPRT+8H8C6A12DU8QXEOr4vRNqI/P13kXUZQRAEgMRz6r7AGKsH8H8BvAHgYs75X8KQ1r01heNLCspdbgnZGzEm5WV1DfuVghEqlOIY0jFLXqEmSSRaCiLVqHbbp6hoAI1Z63vFq/fllYwu73hIGfKlCs9T9U2VV5ib6UBNea7QV1Oei27pe9Dt9WNHXQXskXHbbQw76ioElUwNqS0+HsMP5uJBUoHKM6PKS9y5pRL333Ix3reuCPffcjF2bqlUCqCo5O9VnyHZWPCHxE9y57A6FJAQybDbLO2H9p8R8uce2n9G+R6ovmeJCngRC45AxJDiAMAYy5ri+Lhwzg/BEDw5CqOcgQbgEcSv4/sogMJI/xcB3DvTxyYIYmmSaJ26AgA7OOdCtjjnXGeM3ZT8YSWPeHXqpkKudeawGTuzD7/eFFVNjG3HnndCCqE60TEMeYmdZloES5KpzEubxrBpVYFQo2rTqgIcae4Xio27HRrOD4qK/ecHx9AzKi643zo3gHHJ0OsYHleG7GmSZ4ExsbZWtsuO45LK4fH2obhCHbEeCcDI6XIpaqelEs75f6b8QVKEyjOztaow4u7lgtt355bKaN1MAEoBlGUeq/z9BaUevNk8sXF1QakHHGS4zRZ/WMeFRTnoGZnYuFhVlIW3z4mbhG+fG4Amue8HfIHoBoh53xjwBaICXrE1BYlFwVOMsYdhhEjeCeDTmMVmE+f86wC+LnUr6/hyzscB/I+ZPhZBEEufRHPqvi4bdDF/O5HcISWXRMNcZGEJOdekOCcDX3rqmLAz+6Wnjimv5ZVqgsltYuGg8qCq8ttmQjDMLcWfj7YOwCFdz2HX4JTq2TkdGvq9UqilN4BsySuX7bLjrJTHc7ZnxBJWJzsIVxdnK3PlVF6/eOp9KlXZRLzi6YhK2CQ2LzEck5f45KFWfPzRQ3jykFEvLt8tKpfmux04Kr2+R1sGkOGQvEkOGzIdlDM3FY4pvt52xpShyqp8WXlzY2tVIbxjQeG+YZbLofy5xUUkRHIPDO/aMwCqAXyNc/7deR0YQRBEhEQ9dYsWM8xF9iiYeSnmLmmOtJiVF8F2xtDa5xP6Wvt8aVs2YKmg8qAGpLhKuZ0oHMCIZNCP+MMWI9Ef1FGem4neGCOuOMsltM2xhaXw07DOLWp6HUPjFk+dHLV6TfUyS3HjYo9L6fWTjQUzRNMsgm0yU6942iAJm6jmpicPteKrz70DAPjviId3fYkHh2M8cOtLPNh7vFO4dJfXb1Hi/eP5IQz5Ji9pQACF2a5JvZmZTpuyTuVtm1bgodebon23bVphES1yu+xxxW+IxQXnnDPGfsM5vxjAK/M9HoIgCJkln9ql8ijUtwzgjkcO4F9fasQdjxxQqs7Ji/HO4XGLMAZjVuNvLurPEalFNoBmmsZnY2qBFZXoQrMUYtfcOwrZQWjX1EXK3ZJX2e20TakoMuALYEddRVQ4wxHJlVMJdQxJjym3TVIh/pBAjcxFwcGmPoR0HsnFNIRNVHPTnsOtwnl7DrdiR12FEP66o64CJVJkQYnHhWzpc5DttKX1JlOic7Ocuyp/765cX6wsF3HvBy7EzRvKked24OYN5bj3Axcqvd+q71Q8yNO94DnKGNs834MgCIJQseQ9dYDVo2BKuQMTUu41ZTnRnXHA6nELhHTLQplzq6cnzI1FQezGrtwm0gc5N5PBCGmMXUh6XHZ0KoR6KvIy0DY44X0pzcnA+UHRGxPWgaribLzdNuF1qyrORkufD4GYwtN2jQnS7WYIGIv5BwCtfaJx2do3qvRSqIjnFZ8lZo3MowAeA/DSYlR8i/fayHOTS7IoXHYNPznQLITv/eRAM3ySIeILhNEnKaPK7XQj0Txmm7Rbx5j4rXW77DjXL0Zp9I0GUN8ygBcbOhEI6XixoRP1LQNKpdidWyrR2jeKFxs6cWNNqZAvGQt5uhcFWwD8T8ZYMwwFTAbDiXfJvI6KIAgCaWLUyai8J55Mh+rQKFG5qxjITksfVIa6zif34qn+xqEuG6DCk+EAMC60NW1cUN3UNMNrEGvUrS7KQotknMmqoQea+uDJdFi8Ry82iGF9LzZ0YteVa/B22zvRvts3G4tSOYQ5FeIPnPN/ZIz9LwDXA/gUgO8xxp4C8Cjn/MysH2COiPfayK9hlxQG2DXsF95bANh7vNNSmqBv1I+gFCYst9MN1YaK+usq9sp7Br1ePwolRePCLKfSM61SuqxvGcDjB5oRCOl4/EAzrqspVX43VNcjo25hwBir5Jy3ArhhvsdCEAQRj7Q06nbUVeDn9W3RXfMddRWW4swyWkQ9MJFFguzIIC/d4kf1npqGXTwYAK5YWY6HRC+L3DZR1bizM4ZwzAXtjOFIc79w3JHmfktBZdm3FQjp2FpVaHgluKG+aIo6xOYJxXoW9h7vwPbaMuzcUhnXqyB7npJBJJdFVSPzFc753yX1wVJIIjmI5wZEj9C5AZ9lkgmGdFTmZ+FUz4ThXpaTgdM9oiGf5jad5TPPudrQk7/D8ut2rt9nEdLqGw3g4wrv68GmPmjMuKbGjDDng0198AcNQZxAML6xliJPN5EcngdQxzlvYYw9wzlf8KWcCIJIP9LCqFN5FHbfKe6af3HPsUmvoTGGXLcdfaMTIW0FWQ6hTaQXUxnrdhtTGlcWcZ04i02HlHvn0KzXC4Q5hsbEz+DQWHDKZFmnXcMrDZ1R4ZWwzvFKQyeuqynFI683QYeRcHtdpBZjdakHA75AtJj1XHkVGGNfAPAXAHoB/BDAlznnQcaYBuAUgEVj1MnELvb9kcW+Kp9TU3w45HBduU2oUQlbLc/LxPAkm3pne0dx1fpiITy/piwHG1fm42s31UQ3O8zPv2yYNXZ6LTUFVVCZgwVN7GRcNW+jIAiCmIQlZ9Q9eag1IY+CTJu0Qy4T0jn6JQNObhPphYbJQ3CXeVxCTlz0PCZ6BzRmKOzFlr7IdtnQOyKJLoyoF+4V+W6ciFmUVuS7LeGXmiZ6ILZVFeKpI+eEY546cg7D/lD0Oekw8k8BWL5DpkR/MKRHJfpTxKKtkTkVp7q8Qq7cqS4v7BoTQmXtGoPLrgk5mJkOG8aDkrc3GFYaLOlMpkMT6kHKbZO6lfnC90d+3YJhXRmWfF1NKb7xqwYEQjoON/ejutSjNMxU3rt4pMLTTSQFHud3giCIBcOSMupUcuADvoBSke+OHxyM7qbuvnMrnDYNY1O4XmjRtPQozRHlzOX2ZGgaoE/yken2+pWLdJvGEIo50aZpKMnJgDcmfK4kJwPtQ6JBOBoIwyF5/xw2ZlmU1q3MR9+oH77gxOLRJoVtnukdhV3Ky7LbGN6I8UYAwBunerE8L1NdOFuS6E8FkeK88f62oGtkysgRA6+f7BH+brSts8zGlflCAfuNK/PxZnN/tHYgYCioBsM0I8Vit2lAjBFnt2nQIp9jE40Bo1JOq40ZglcmmQ6bRSjlXL8vblilbJhRWOWS4D2MsWEYHrvMyO/AhFBKzvwNjSDmllX3/trS1/zAB+dhJITMkippsPd4h6Vt3lBtDNEb6rNH2xAIRW7GIR3PHm1DdsaSsm+JBAlIhrzcnoypcpZ0Djglw8lpY5CiKqGxidpvJt1ev7LotLxwD4Y5dtRVRK+pMSNndGWhKMEu17c7fLbPcszKwizlOOIWzpZEVoj41LcM4I4fHDTKqPzgIOpbBqBLxrDOuTJ384xUXP5MzwiYZL/JbcLYgJDbqu/esXODk14nN8upLEOS73ZOK6wytnTFbKCyB3MP59zGOc/hnHs45/bI72abDDqCIBYES8qoU9UDUt1QVQtXIj3pl4ozy+3JmGodHda5shzAmBQCNhbULd6CUX8IxdmSPHq2S+kt/smB5qj3QedGe2RcvJ7sxPEFw1hf4hH61pd4sEwShDDbum5sgugRD6Nqs4SIj2ojaUwKoZTbJl1SUfGu4XHIwZbW4EtCVdKAKcoXVBa4hb5cSQm5piwH2RliX3aGAw3toiqp3I5l48p83HPNWotQznSNMzOd4N9ebsTHfniQDDuCIAgiypJyT6lU+gBrnkK8hStBJJPpLLMLspzoGQkI7dOSh+Z0z4glj08D8Jt3RA/1b97psCxC5Ty+spxMpfx6j9ePlphQs+pSD5452hb1IIV0I8/u/lsuJlGHadAjbRz1eP3wh8RPiNw2UXnvXJLHKd09dXLIpI0BWU6bsKmS5bTBk+EQPt/luZkWT6jsra8qyoLbacPzx9qjfVeuK4obji+H2aqIl+s91blU9oAgCIKIx5Iy6gDDsItX3NVEVdLg+bfOz9EIicWIU8plk9vxSDQPUxXeVZTtwoh/YgFalO1CW9An5PFpmrVYMmMMHpcd/THFpzMdNkFs44p1RTgueRaOtw9ZpNuLPC5lXUeARB2mgyyOMeALwGVj8Md8huT2ZMjHJXreUkX1PVMVaF+7LFsw6kpyXDjRMSwcJ3tMGzqGLZ7odSUeS7hlbaQmXSLCXCrjDLAKEsnnUn4eQRBzjSqHjliYLKnwy0QxSxr87Q3V2H2nceOMF/pEEACUpQQSQZXDo8Jlt1namQ6xL9NhA5NMLAaGstwMoa8sNwO+QEg6TqS2PBe9kveo1+vHrXUVsEdmBbsG3FpXofToEdOjY3DM0s50Su+v1CbUqDYZmOy5ZOo6j+el9+H84BhWSOGXcuTG9toybK0qRIbDCDfOcBjG1IAvEB2LhomadCpjTWZrVSHsmvFttmksmqc61bnJzs8jCIIglg5LzlOXKLKXYbIi0gQxExisYirxxFXkkhptAz64XeIiv23Qh8Jsp6DOWZjtRFC6aDCsY1jKqRuRvBY/OdBsWQibY9A0DUzXoWmGdWcuXjkmFq/E9MiQDPQMh82isjrip42lRFB6vxWd+dkO9HonPqv5WQ5kOsVbXqbTjg2V+Xi3Y0I99poLS1BbnmsJ41eFG7scVq9Zwp4008Me+SIm6oUjDzlBEAShYskZdYnkMxDEXMCYdbMg3t6B7PgLc2ulAM6tKpZhnQthloA1f0tFY5fX4pHoHzU8DcGIoEds+QLV4pVInGsvLMHpniah/dDrTcIxIdpZmjGqou0Xlebgde9EKYiLSnNwUVkOTndP5NBde8EyXFdTiqePnEMwzOGwMdxaV4GNK/MtYfyyMRWv+HgiuaYHm/oQChvfs3DY+J7dc81aylMlCIIgZsySMurqWwZwxyMHojfn3bu20Y2RWLSoFqoqlUxVaKgtgcDqmzcsFwyLmzcsh3csKBTE9o4FlQWVienR1Ds6aZtIHJUoCiD2aQxolWrLtfb7UCGFWg77Q9i4Mh/3/XmtxTibivqWAWXx8UQ8afG8cuSFIwiCIGbKkjLqnjnaFl3gBsIczxxtoxskMW/M1vESksIqQ2EdbqcNvpiSCE67JrRNpqoHXp6bgUqpTl1lYRb2HG4V+g5E8nposTk7yKhLHi6HTRBBcTlsCOsc4RjVSrtNw401pcKmxY01pfD6rbmm8YyzqZiNEiVtlBAEsZSQxVSoGPn8sKSEUk53eSdtE8RiQuWBk0P0QjqHVN8cNja1UTfgC+LB104JfQ++dgouuzglyG1iZqgKYRMzI0P6TGbYNTgkBSKHxpSbFjvqKuC0a2AwNkR21FUkLG4ioxI7mQ6q2nUEQRAEMVOWlKdOVegZoDw7Yukgi2mM+MMWow6YukZeMKwra6ctz8uc5QgJFV5/cNI2kTiqou3yJkZI59h7XKzfuPd4B3ZuqcR9H7LmwdltRiikzRY/Z1R5H5HETpYKdM8kCIJYfCwpo+72zZV4u+0doV3fMoDbH/4DQroh0b7nrsvpJkUsKVS5d1OxssCNs1LOkQ5YRFfkNjEzPC4H+keDcduEGrECo9HOzXRgLDixIZGb6UCf9DkNc64sfVDfMoCvv3AcwTDHwaY+VJd6jD+aVmEcF7eq/pxK7GQp3FsSrbVHEARBLCyWlFG3c0slWvtG8WJDJ26sKcXOLZW488dHYDrwQjrw0P4z+MFfbJrfgRJEEkm0wHksXn8ImXYN3vCE1yPTrqGqOBuneybyvaqKs5MzyDTHIYUMym1CjcPGhDBkh41hXMohldsmJ6Xw+5NdXjy8/wyCkesFwxwP7z+D96zIQ0jnhnGm82j4ZaynShWiOZ1C4IvJ8zWbXEFiejDG8gD8EEAtjKn70wAaAewBsApAM4DbOOcDjDEG4DsAPgDAB+CTnPOjcz/qxQUVzibSiSVl1NW3DOCxPzQjGNLx2B+acV1NKbqHx4Vj5DZBpCMZDpsl/NIXCOOuq9bgtcbuqILsXVetmacRLi0K3I5J24SabJcd/b6g0B6RxE58gRAyHTYEwxP9mQ6bsjZglzT/dw2PW4yzfLfT4qlSGXCJip0sNs/XdIxVYtZ8B8CLnPOPMMacANwAvgrgt5zzBxhj9wK4F8BXAGwHsC7ybwuA70d+EgRBAFhiRt2zR9sQiLjlAiEdzx5tU4ZkAotr55QgTDQYYZLx2iay7LtMKKwrwzY3rszHz3Zto+9GkslzOydtE2pktUqvP4TleZlo7psIHS7Py8SGFXl4/lh7tO/PLliG4+eHhHPtGlPeD2TjTOWpildDLhFV2MXm+SJlzrmBMZYL4EoAnwQAznkAQIAx9mEAV0cO+xGAfTCMug8D+DHnnAM4yBjLY4yVcc47QBCLAFLITD1LyqhTCT+oqG8ZwB0/OBjdidx959a5GB5BzBq7FI5mtzHonCNWI8iuAVOJK46HdGTYNYzFHGiqClL5guQz4AtM2ibUcCnHjXOOy9cWoblvovTG5WuLLAI/60o88AXCllBiVYg+YP3MJ7OG3GL0fNEcMCesBtAD4L8YY+8BUA/gCwBKYgy1TgAlkd+XAzgXc35bpI+MOmLBQWGv88OSMuqKPC5LW6WA1tA+ZPHoEcRcwaSSA3J7MoKS+y0Y5ijxuNAZs4FRlCW247E8P1NY9C7PJ+XLVNE+ODZpm1Bj05hQxsOmMdSW5wrH1JbnorVPrPvnHQsqQ4nrWwbw+IFmBEI6Hj9ghOjLxst0PFWJRHyQ54uIgx1AHYDPc84PMca+AyPUMgrnnDPGpl3xlDG2C8AuAKisrEzGWAmCWAQsKaPu1roKPH3kXPQmfmtdBRo7vfjvU73RY7bXluF4uxiWM8sa0QShxMYAxsRFqV1apAKJG3SAWhTFJ0m8+4Jhi2qgjD8YxrV1FTjdM1Gc+doLSyY5g5gNQamQvNwm1MjfDc6B1xq7hb7XGrstudIHmvpw7wcutIQSP/ja6YRCIRPxVE0nV448X4SCNgBtnPNDkfbTMIy6LjOskjFWBsD8wJ8HsCLm/IpInwXO+SMAHgGATZs20RKHINKEJSXBtnFlPnbv2oa/vaEau3dtw8aV+di5pRL333Ix3reuCPffcjF2bqnErXUVMMXn7JphDBJEsrFpDHapiJzcngyVJLtTOt9pY1Gvs0kgpE9ZNssf0uHJdEQfgwHwZJJ4R6rIyXBM2iaMDQ+5HZY2QMI6x7HWAaHvWOsAhsbE8hBy28QMhbQxzDoUMjZXLjCNouUEAQCc804A5xhj1ZGu9wN4F8ALAD4R6fsEgF9Efn8BwF8wg60AhiifjiCIWJaUp246aJoGpuvQtCVl1xILiECYwybtkcrhk5PhybBheDwstDesyMfrMZ7nrVWFOHS2XzgvkUcoy83E1qpCuByLK9dnsVKeJ4a6yu10Jy/TjlWFWTjWNhFFUVueg5NdXvhiSha47BrCkvsuzDm6pXDjbq9fmTudzFDIfLczKjakc6NNENPk8wCeiChfNgH4FIzN9qcYY58B0ALgtsixv4FRzuA0jJIGn5r74RIEsZBZUkadKhymsdOLrz5nqJ2ZYZgDvgCCIaNobJB2WIkZ4nba4AuEJz9IET8mK1PGV6q0+urelAy4N8/2ozQnAy0xhcRLczLQ4x0XFsOySub6Ug/l+swh9S0Dk7ZNHBoQW3ZNbi9VxoI6eqQC4j2jAWiS906L5NTFbmzUlufiiOL1VKkhm2GQyfisD/gC0TBnDSR+Q0wfzvkxAKrCue9XHMsB3JPqMREEsXhZUm4qlXT0nsOtwjF7DrfCOxaMejM4jKR6gpguGVMUkHbamDIHTlVKQBVW6ZSu77RrGJdCLcdDOt67rkjoe++6IkuNLtkhbT7axpX5uOeatWll0DHG/gdjrIExpjPGNkl/+3vG2GnGWCNj7IZkPeaoZPzLbZN1JZ5J20sXjrGAWL5gLBDC2uJsoW9tcTaaekaEvqaeEdSU5wh9NeU5yu9eMjE93TYGOB3k6SYIgiDmlyVl1KnyJUpyMoRjSnIycEDyzMltgpBR5bcNSzW0ZC4qy1HmCamulekSjbBMlw3F2aKaa3G2Cw7pG+vQAI9LdLh7XHbULhcVAimHS+A4gB0AXo/tZIxdBOCjAGoA3AjgPxljNuvpqeN098ik7aVKltOuVLVUCgNJBrEvEMYtl4p50bdcWoFb6yrgtLFoLup0cqfrWwbw4GunBY/qk4da8fFHD+HJQ8ZGoenp/uL11Qu+oDhBEASx9FlS4ZcbV+bjazfVYO/xDmyvLcPGlfm4unoZXn63K3rM1dXLsK+xG8BE7oZh+A1ZL0gQEd5TkSvk+7ynIhfvnJ/8M3Oi04tMlw0B34Txl+myYXQ8DD3GXadpDNkuB4Zijst2ORCUXHpBncNu0xDUJ7x1dpuW2CaFpJwil/9IJzjnJwBDmVTiwwB+xjn3AzjLGDsN4DIAB2b7mImGVYakOFy5vVQZ8YeUYicuyVvtsmu4bdMKPPT6hGrrbZtWWBSNj7cPYeeWSuyW1C8TIdEw/p1bKknVkiAIglgwLClPXX3LAO77ZQN+f6oX9/2yAfUtAxEDboJ9jd24unqZ0Ce3ifRG5V0bkbxyI/5QnDy4CcK6joC0cg8EdUiXh8aA3AxxfyU3w47VRVlC3+qiLCzziJ7nZZ4MDPrExfCgL2gJURsPhGbstUgj4hX3nTV2mzZp2yQ/yzFpe6li05jSgMuTxEfy3E5cV1Ma/Q5pDLiuplTp/QaAxk4vDjb1obHTG/2b7HGTUalaquqdEgRBEMRCYkl56lSJ8ar8i2LJS9HQTl66dECu3Ra/lps16Ou8VCxabqvQuSEAEctYUIddCujTwdHS5xP6Wvp8+J9bV+GVGC/zNdXLMOQLCKIoJTkutPaL5/pDYYz4xRC1saCOp//y8rQRRWGMvQqgVPGnf+Cc/0LRP93rT6u4r8roKHA70B9jkBe4Hch3O9E3OtEntxcr8cWADDIdNuRKBlyu24mTXV6h72SXF88ebRNUJ5892oYddRXYc+QcQmEOu41hR10FnjzUavGuAVB63GJRqVpury2z1DslCIIgiIXEkjLqVPkXBVlOIEY6vCDLqZS/JpY+iQonSFokCOlASLcaZ9N9PBNNMic1MGWekKrIcr/klev3BbG+xIPO4YnP8PoSD3q8fmERrbH0KoDMOb92BqelrLivWuCmWAgN37SqAOckA90Rx6O32HA7bfDGbDTIaqy1y3OxTNpsW+Zx4cCZXqGvd8SvNPQAQGMMDBxaJKw2Ee/a3uMdFqNOpWp5zzVro8dvry2znEMQBEFMj1X3/trS1/zAB+dhJEuHpbFiiKBKtFepyakWDwSRbBwag1xr3MaAkJQrF9K50uB8Syqy/FbrAEakvKORsSDaJa9h++AYCrNFr4fcJpS8AOCjjDEXY2w1gHUA3kzGhWXbzKapNxnah6X3cnhqj/BCQ/WZlzdB5C2Rpp4RpeCPSv0yIBnIZohkKGyUqQmHjbbsTdteW4aaMkklU2oD8VUtd26pxE8+s4UMOoIgCGJBsqSMOpVno0Yy9GrKc7GjrgJOu+Evcdo17KD8IiIFhDm3hJyFubJ0HeTqCHYNGJTqXg36AhgaF3P7hsZDGA+KXr7xYBiFWeJGhdxOZxhjtzDG2gBsA/BrxthLAMA5bwDwFIB3AbwI4B7O+RSFCBNDVh/NyXBgSHp/h3wBjAckj15gYRepU+Wfqj7zmbJsq0SP168U/PFkiq+bJ9OB2zeLRtXtmyuVysc7t1Ti/lsuxvvWFeH+Wy7Gzi2V8GQ6oqGwLHI9GVK1JAiCIBYjSyr8snt43NJWhdJsXJmPT1++Ci82dOLGmlK6aRMpIRxnPa5J+UUaA2yaJoR42jQNfskjEdKB5XkuIadumccFt9MGYOKz78lQK2cSBpzz5wA8F+dv3wTwzWQ/piq8trlvVOhr7htFfqYDnTHh4HJ7oSH7mK0+ZwOHXQP88e1jDqsKcUlOBq6uXmbJZTM9ZXIo5BOf3WrJGd25pVLwrJleuGBIjxp/KtIpVJkgCIJYGiwpo+72zZV4u+0doV1d6rHcxJ881BqVxH7o9SZUFmbFuyRBzAqVOIsKT4Yd/pFA3LZJdalHMOqqSz3okjYznHYNK3IyhBpnVUX0GZ9PSnIy0NznE9rdXvF9G/GHsG6ZRzDiSnIzFrRRJ6WaQtet+XIaAI/Lgf5JBF/sNk1Zfqa61AOHjSEY5nDYGKpLjXB62VgDEjPETC9cuggGEQRBEOnDkgq/NBcAAKILALN23eVri/C1m2qwcWU+9hwWpazlNkHIqMoQxDPQYllbnGVpq8LTHNIDyG0TVUjmNsnbsK2qEHddtQb2yHfBbmO466o1CYyWSBWZDpulrUmfIA1MGVq4kJHDKuOFWfoCYtiwnHe3ssAdjaoAJqIqDjb1IRzxMus6x8FIiKaqOHiibFyZj3uuWUsGHUEQBLGkWFKeungLgK+9cByhMMeBpj5Ul3qUdb0IYjLsGkMgxhqT2/E4PzQ+adtkUBJAGRwLgjEx/44x4ETHsHDciY5hixiQ1x8yNi9mUHiZSA0DkjE+4AtAkwx3TTM2omyaEbpr0xD1TC1U5KhenRsbav6Y74bDxqLzchTJhe3JsMcNjdQ0Bj3MwTSGrVWFyuLg9PkmCIIg0p2UeuoYYxmMsTcZY28zxhoYY/8U6V/NGDvEGDvNGNvDGEuKNN/WqkLYbcb+t81mLAoe3n8GocgCIxTmeHj/GfSOiOFMcpsgZIy8tfjteIxJuVRy22SVFAK8qjAL71kuivy8Z3kuRqXzRwPhuCU6yCOxcLh5w3JL+wLJYLug1INnj7ZFczHDulGDbSGjyt3MklQss1x23LZphdCXL9Wk84d0ZVRFY6dXmL/NYuJycXCCIAiCSHdSHX7pB/BnnPP3ANgA4EbG2FYA/wLgW5zztQAGAHwmaY9oujYiP+XC4g3tQ9CkZy23ifRBVRRaRVG2a9J2PBKtjeeS5C9ddg3LcjKEvmU5GcjJEBfMORl2KtGxCLj3Axfi5g3lyHM7cPOGctz7gQvxle0XRsN6NQZ8ZfuFi6+GpkLKtVbajJDbAHCRVErg9s2VqG8ZwDd+1YA3TvfiG79qQH3LAB5746xw3GNvnFUWBycIgiCIdCel5gw3MNUaHJF/HMCfAXg60v8jADcn4/EONvVFa36FI+GXo34xl2PUH8KlK0TPhdwmFjeJetEARPPO4rVNrr2wxNKWyxDI2DQg2yWOJdtlg1N6DKeN4U9SQeU/dXktAihdw+O4unqZ0Hd19TIq0bEIqG8ZwIsNnRgeC+LFhs5oLphdY2CYKA2Q6CbDQkEVfqnayHiqXvQ4Hjs3aMl/jvXABU0PnMJoVOXeEQRBEES6k3IfFWPMxhg7BqAbwCsAzgAY5Jyb1lYbgOVxTp8WqlpFiS46iKVDHI0RJaqCxyqaekct7ak8BG6HDdvWFAl929YUWdRWKwuzcIGUF3dBiUcpgNI3Ki5g+0aNEh2779yKv72hGrvvpPyihYjKYDnY1IdA2NiECoaNTSiVEM5CQWVwFmSJdd4KshzKot+ygArnXAirNHM/TSPXFsmf+/R7q4TzPv3eqrjFwQmCIAginUm5Ucc5D3PONwCoAHAZgAsSPZcxtosxdoQxdqSnp2fK41VFY+WFd77bicIssU9uEzNHdnTZGJSeKRWMTd5OlLXF2Uq1Sre0sHQ7NGX9MBUqr5ltCusxpHPcfdWaqEfPrgF3X7UGteVi6FlteQ5qpBC1muW5ykLJNVLYmtmm/LmFjcpg8caI43AA3rEg+iWjXW7PJzbpe2uzMXikouqeDAfePCvmuL15tg/3XLNO6Lu0Mj+6mWY+dwATX/rIz1apll9r3ygVBycIgiAIBXOWTcY5HwTwGoBtAPIYY6ZLpALA+TjnPMI538Q531RcXJzQ45iJ9I2dRjhbnltcdOS5HTjS3C/0yW1iauJ9cFReUJW31CZdwKYBTBbIm6ELdcQfUhp15XmZQl95XiZ0KbxL51x5rkpqfmhsctXUkpwMQ4Xyrsvx5Ruqseeuy7FxZT5+f7pXOO73p3uVuVRbqwrhsBmGgMNmGAIqQ49YJEgGy6t/6hb+/OqfulFVnC30ye25Qv5+awByJC92jsuuFJ16qaFL6HupoQs7t1Ti7iursKrQjbuvrLLMEw0dw0b4fFg3wufDhjfzxYZO4TizTZsYBEEQBCGSavXLYsZYXuT3TADXATgBw7j7SOSwTwD4RTIe78lDrfjqc+/gv0/14qvPvYMnD7VitVR0eXVRFvqlEgZym5iaePaWXbKI7BqDLll1us5hk9xwNsYg1TG2tE2mcuANjwfhkKxGh01DUCpBEAxzfOBiMVTsAxeXwS3VFJPbJrmSQZUpJdldvtYIvZQXoKo8z3i5VDzmHwAh9MxFoWeLhoNNfQiGDIPFDL8ck2q3jQVCuOuqNVEPsE1LfX1B2XttovKaB6VK40FdV+aaOh2SZ97BUN8ygMcPNKO134fHDzRbPM7ba8uU4fM31pQKx8ntWGZTu44gCIIgFjuprlNXBuBHjDEbDAPyKc75rxhj7wL4GWPsnwG8BeDRZDyYSimtLFdUEOwbDSh3oRc7GhM9YnJ7MqSSUZa2CrOWlnyexsSz5baJynunwmkT68E5bQwOu4ZRvzpM0rzW5lUFeP3UhEds86oCHG8Xa7x5JePKpDDbhZF+n9Dee7xDOGbv8Q5L+GVWph3B0QBCuhFqeWtEsOTJQ63Ye7wD22vLsHNLJW6oKcXzx9qj591QU2opVcBhyNmbhmgwzPHs0TZ885aL8cRnt1L9uUWGdyxoCTesKc/F+cGJsN6aciMEl0WOZHOQ7buqKAvvdngt/SqPe4bdBi8mPqcZdhs+vm0VXni7HTo35pyPb1uFt1oHMeSb+G7lZThxsKkP/qBh1AaCOrz+EGwMCHMjRLu61BMNq4z9bJuf7xcbOnFjTSnu/cCFAAwDLvY4ql1HEASx+Fl176+FdvMDH5ynkSxOUmrUcc7/COBSRX8TjPy6ZD+gpV1TloP/jlnc15Tl4Ng5cSeXLQGrLlEjSYVqAachvqcMsL7UJg4bw3gofhuR6753TaFgdF2+pjAqHGHitDEUuJ3ojAlNLHA7UVnoxpvNA8Jxsedl2DWsKHALj7miwI0er1/IUSrxuLD3uBjetfd4p8VY6xnx466r1gifo+21ZZZNhAybJkitAxPeYwDR87/9UeMrse9kD65eX4xvf/RS7Pr/27v34LiqO0/g318/9G49LNmSZVl+YCNADuAXxgMTcBInhiGBQALE2UwILIQaUptUzVRCkqoMyy4pmMxmSO1SAQ+wSWZ5Do8JScUkBAwkE2yMjAkWxrEtLFu25Ycs27Jlq9XdZ/+4t1v3nntavtaru6++nyrKuq3u1mnRfXV+9/zO7/eLd1zPZQqF08fOyS4Vhre0XmpvdfR4sgjKisJ4flMXEvYHL5ECnh/nPnXdx04bbw+JuFKTQyIoL47g0Imhz095ccTTI259Rw/6TrszH/pOD6KmrCjz/k0B+MuBPqQ/skllvc70+1p/b9999fmZYA6AMYAzFaLhZ4SIiCaTAIQzQ0ypQPpqTN9AAjNrtAm/dhwUpqIlflcpz1SkJBwSzJvqnpTOm1qOhc1au4jmGt9l2suKIp7juJbypR8D6dXAIbGSqHGPWpMW6DVNKTPu7TOlkOp7glYva8atl83RHusO6h5YuxXPbNztuk/6+MGbF2LzDz6dCfDqtN5ydbFi3LCoCUX2nrqisGRW/qjwFGmpuUWREDbvOeq6bfOeoxPe0qBI/wDYTPtKe7T9cz0nBow94+ZNc+8DnDetwtWGQGA1DXdKf89PCqUpgLt0bi0iYautRzjMtGQiIpp8AhXUvbn9kOf4j9u1ohTbD3tS94ZL5StkptU70WZrEhJM0YrJ6Mcm0XAI93/hItdt93/hIuw7esp1276jp1Cq9Y0rLQrjP3e6r/D/584elGs93cqLw5inFYqYN7XCswcynnRPEA+dGDA25DaWZNeqo04pK8InznP3gvvEedM8e4JMk069X9buI/2eyat+nGYK4BbPqsGtl83BrNoy3HrZHK48FDBTFV7TfrHR9BwcSUB4NEuxn6R28kimFMIh95+LcCjkCdZ6++PGpurOlToFqz2H/jrbOnvxpTVv4Z9/uw1fWvNW1sDOtPfOemLl/peoANhtn94VkV/bx3NEZIOI7BCRZ0SkyL692D7eYX9/dk4HTkR5Z7z31E2oj7ReYh8dPokBbRK9p7ffE+x0OvZPFSo/++IUgIgAzhA2ItaVdGc647xpFdh39BS6HPt99OcrjobxwNqtrud/YO1WHD7hDmwOn4ijpizqahVQUxbFfi3tSyll3GN0Zcs019iuW9iE/3h3+JS0U/FkZn+S87n+3/pdrtu6evtxWCsZf/hkHPO1nnHz682NkfXUM31149z6mKdCZnrFRt8TtHhWDZ66Y7nrtic37MbDb3YAAB5+swPNteVYvcxdhZMKw1TtIsPUWDHuvvp8dB8/nUnDTacYPnX7yPZMjqT/ZjyRyuxtSwuLMZMddRVFriCwrqLIE6ylg9dISDCYVJlV73TwpzBUtVV/nd978f1MGnU8qTIpmTrT3ruH1u1AImX1/EumFNMvqZB8E1YBuXT1oAcA/ItS6mkReRjAbQB+av/bq5SaJyI32/e7KRcDJpoo+h47gPvshhOolbpqrRphdWl0VHvNCkmNtrpWUxY1plANar+AwZTCXm11be/RU4hoaVnFWvrYgsZKvNd1zHXbe13HPKtm8WQKS2dPcd22dPYUlGoVJUujYVzZ4l4hu7JlmmslIARrclilrXrorzMaFry+zV0u/vVtB7FHC973HOnHJdrYLpk9xe4pZh1HQtbKgKnPmN5kuS7mLsqTXpFwWj63NuuKhF4l01SchQrT9YuaELXzoaNhyaxM/WZLN471D+I3W7qzvg/Gk4QEUyu0gLOiGFHt8x6NhIyNwNv3uc8B7fuOWa0JtADLFPzpr/NsVhr1x2ZdvSPKYyLSBOBvADxqHwuATwB4zr7LzwFcZ399rX0M+/uftO9PRAQgYEHdca0ih36cS+NdcVOvnngynjQ38zZczjdNppq1/WcJbS/bB93HMagFcIPJlLHReI+2GtZzMo5WrQF3a2OlcYLoLOFfZJfw11Mr9f1K5cUR43PpLQiqSqP4xW3LcHFTFSIhwcVNVfjFbcuwrbvPVawi3fMwqaxfXzLLhYFGrdJq6/RKHNf2dB4fSOD5TV2IJ61Jb3pFAvDuJ8rWaJwKkzj+A6zqpnG7zUE8kcIL41AU5UwzvqqSCOLahZ54ytyrsaUh5rrY0dIQM64OmgIsZ2pyOk1TN5rUUzYkpwL1IIBvY6guWS2Ao0qp9B+OLgAz7K9nANgDAPb3j9n3JyICELD0y9ODyWGPc8lvD7YzyVaV0rR3q7Qo7Ep7LI6EkUimXJUiI2FBrCQKYCjtMVYS9aQN6lvBjvbHURQO4bTjG0XhECqKIzh6aiiQqSiOoLbcvbJWW16EryyfjS8+/KdMKfTvXHU+Hnljp+t+h/oGsHhWDX5wTWumJcDiWTV4RWtIPC1Wgl09Q6twrY1V+EAL6gTA362Yn6lECfu4rbMXHx7oQ0opfHigD22dvcYVste3HczsM0qmFB55YycOHHenkG7Z6/6Zx4fpP6ffZqrol2407kxZo8JkWr0aSbrkcExtTUoiIfQPZj/bJFLK06uuKCRYYGgJsr6jJ/P8Slmv6YZFTXjunT0YTCpEHXtB9fTI9IWR9OvU9xgCVmA20tTT9OP9PEZPfSbKBRG5BsBBpVSbiFw5xs99B4A7AKC5mSn7FCxse5BdoIK6abFi7D8+kPU4CKZXl7j2nQ1nakWxa7/g1Ipi1JRFsdmRNnnB9Eqc0Fb5BlMKMytLYF0ItOj7bkoiYdSWu5+/vrIE9ZXFrr14jdWlxr2OABAKCVJJhZC+LODQ1tmLe37VjsFEChs+OoKWhpinzPthrdLllS3T7FRLd6Ca3o/m7Bn30Lodmb1ycXuv3FULpnvaF+hVLA8cP4167XdUVhR2FXERwLi3T9faWJW1ol9xNITBRIopZQUuvXrl/H+pX5yoLDafjtM9IbMdp53XEHP1nDuvIYZjpxPo7z3lvbNNQt5CQ/FkytgSxPQaFs+qwT2fW+C66GLS2x/PBJ0hMa/UAeMfmLGfHeWRywB8TkSuBlACa0/dTwBUi0jEXo1rArDXvv9eADMBdIlIBEAVgB7v0wJKqTUA1gDAkiVLArrphIh0gUq/rNau/urH+caUqngmlSVRY6sCU6plQqt2kFDKE8CdiCcxqC3DDSZSnv1teunzcEiM+25MRUas4GdIfWWJ1Y/LjhITdgqiPtHr7Y8bU9ROaCmN/dprWrftoLGEvImpJLspzUzvKTanrtzzO7rmwkZX1b/rFzUZ00BN+wRNKWtMKQuO9IrzX82rww+uacXiWTXG3nUmpZHwsMdp52qfvXPrY55AUe9gUFEcNbYg2H7A3ZB8+4E+42to6+zFvb9ux3/uOIx7f92Ots7eTOD0v363DV9+dD3aOntd7++iUV6gMD2/X6aLJ0S5oJT6rlKqSSk1G8DNAF5TSn0ZwDoAX7Dv9lUAv7S/fsk+hv3915RiqVciGhKolboDfaeHPc43ReEQ4slk1mOTQycHUBzV0iqjYQjc++pKo2FjMZL9x9xX7fcfO4WwFhH29sexRQtG9AIriaTCnLpy7Dh4InPbnLpyXL+oCf/e1pW5mp/eF7Nu28FMitbXrzjHs3/I1LsqHcw5KQCfaW3Af2ze53j9IZxypJht3XcMf7diPt7rGkq1vGlps7ERuCmQNKWZbdl33HW/LfuOY359zJUeuWl3rytAfKW929gv7/pFTZ4VOFOaKcBG40HR1tmLe17agsGkwoaOHrQ0xDBNW+mdpl38SEvon72UMla7NfW90wseRUMhJB37Y2dUleC6hU2eCrP6yvRAIpUJ4OKJFDbuslbNnUFS3BEk6YHTXSvmeVIyR2o0jcZNq41EeeY7AJ4Wkf8J4F0Aj9m3Pwbg30RkB4AjsAJBIqKMQAV1+mpStsa6Y8lPK4FsTml7/vRjkxOnEqivLPGkVfacdAcPIlaFSmfQtaCxEru1CpCDSYXqiqirqEysJOLZ+1UUESTiQ6+suiyKFS3T8MoHBzK3rWiZlnVfzNNauX4AnuCvtbHKE4i1NMTw7MbdSKSsVbN0A+6X3tuXSeUqL4ng1OBQcKbEaha+u+ckXm7vxqrWBqxe1oyvPLbB9ZrWbtnveZ0bOnrwzU+d65n4vagXsVDKU9Fvx6ETrru83N6Ny+bVuW6bFis27jkyTZgZzAVHujgOMFQc584rzsG6Dw9k3tt3XnEOAG9qoV6kKJFKIRxy73MNh4CLZ1a79pZePLPa0zeyOOreB1tVVmSsFDunrtxV3XZOXbkxgMu20j2egVO60fhgInXWjcZNnz2iXFNKvQ7gdfvrDgCXGO5zGsAXJ3RgBchUAp9osghUUGfqkTZW9CIEaabJlVLevk8i7vtFQkBIBEnHHcP2D8lWXTE9juqyKDqPDN1WXRbFQW1VMplSxqqT59SVY6ujaME5deW44typmX5oAPDZCxuxsrUBzzoKIHz6Avfq2GcvbPSs5qWPTatL+m2m4G/xrBpPINbW2Yv0uoSyQzBnypQAKNGC9xlVJZlm4fFECj97axdWtjYY98r9028/dD32z3uPGSd+t14+11Vk5dbL53omw7HiKI6cHNpTt6q1AStbG4wrl/rvYzSrD5T/9H2fh+0iQM98/a88wf1Na95CIqkQCQueuWM5QlrZ2pAIRMQV7IVDIU8acn886VkpTmonl2mxYs/7uH3fMdRpbQ4+OnwSl8yp9QRwpvTi1cuajRctxnQv2ygajXP1m4iIgihQe+pMaUpjJRISY5lvvSpkIgVjkYEZ1e7bZlSXWUGcQzgk+OxFja7bSrS9YFWlUdy01F3N6qalzfhMa4Prts+0NhhL4n9l+WzXbV9ZPht92h619LGzBLvey27n4ZPGiSrgLc3vVzoQ232kHz97axfaOnvxyBs7PVUn9f1n06tLXc9TVVZkDJJWL2vGDz//Mfz1/Dr88PMfw+plzbhwhrtwSfpY74Nleqxe/bK6LIrrLm7M/Hv31edngtd/+EwLnro9+0SWfbaCzdR8HPC+zx55Y6drr2n6/e506dxaVwolACRTKby72/15e3d3Lw6fcH9G41pQ19pYhdIi97W90qKIJxV0WmWJ8SLOIe0coB+njeVeNlMlUSIioskuUCt1ern/bOX//TxWF42EUBEOuaobVpdG0ds/6Em/nBordqVBTY0VI55IeVbX9h7VUyFTKNMKGyS1K9F6oZO0B29eiCMn43h71xFcMnsKHrx5IR5at8NTEt80MdOLIvzlQJ9r4pRIKU/j7oPHT3smfgr+q8ulG3CnVwKfstMzBwbtoiiD1sRPD5wOHD/tWUl7YVMXNjr2BE2LFWfdO9PSEENvfxwtDVZRiWVza12l25cNE0zpj10+t9aTovZyezfiiRRebreaSadXBc60MsC0sGC7flGTa+U7Ww820/u9Vbvw0DSlDMnt7sclU+ZelUtm1bje31PKouh2BF5b9h3DrZfNca9CXzYHb3/kDpTKi8LG9hx1WrBaFys2ngNMKZMjrWDJfXFERERegVqpqyiJDHs8HDnDb0Ipb5XF/ngS5zW4K86d1xDDfm1Va//RU8bVtYoSd9+xipKoZ/VLXx2sLIkY+6ilJ0gDdjDU1tnr2fNVU1ZknJiZCpToe2X0idNNS5uNz+X3irypAbdzvCl7vKbfm87UtNhUOdJUNU/vl2XqnwWYK+6l+8ilX3vPyfioViP0VRsKlpR9gSY1TMqg6f1uWhGvr3QHU/WVxYhqZXGjYUGxViwprN1HYF6F1t+76zt6jJ+zGxY1oSgs1m12n7psxVOcKZPbuvtGXMGSVWGJiIi8AhXUrb6kedjj4Zj6PjmVFYcxqN1pMJkypjOaKjauXtaMOz8+F7Nry3Dnx+di9bJmLJ09xXW/pbOn4KhWjbFCW7lbOnuKMZgyBUmm0vmmidlyLWBbPrfW89j59THPxM90ld5vGqHpNaR7WQFDvaxME049wAJgTHHUgyRTwOl8nekxmJgmquk+cmGxClBctWA6UyjJyEojtr5OpqxjE9N5wuS6i2d4jpNaunkypTw9IgVAxA7sIo4Vw9XLmvFvty3L/DzTxQ5TKnG6T93l8+twz+cWYPGsGmPxFD1lcu2W/cYLIH5Tt3kBhIiIyC1Q6ZfNteXDHo/GtIpiHDsZdxUxCQnw4rvuqogvvtvlKUaQTCq0dfbi0T92IJECHv1jB1a2NuDOK87Ba1sPIKmsYip3XnEOvvPce67H6quDPSfjaN+rpVDuPebZxyeAsXn14lk1uOez7tL56zt6PGma2R7rnGTesKgJzzlSym6wV8hMpfl1pqbc2armrV7W7Pq5puDMNMHT07tMaVvbuvs8q5kmpomqKWUyXeadKZTk1KEFV/pxWltnLx7/0y4MJlJ4/E9WgR/TRaL2/e4WG+37jxuDOr3tyPTqUhw8EYdA2QVYzBbOqnEVVFqYpcWGqVVD+kKJgrcPY/qzd9WC6di464jrs8jG4EREdLZMFU933f83ORhJ7gUqqHv8jx3DHg/nTHvqDvUNoL6yBF1Hh/a81FeWePaa7TnSjxNxd+GRE/EEHn5jZ6aoSiIFPPzGTtx5xTmugAIAasqLgENDE76Iln/pvNKeuY99xV2vsmgKsEyl8y+dW4toxBvAnWmP1+JZNZm9cGdbmj+9KpduS9DbH/e9r+zSubWIhASDSYVwSIwrYtkmiPrzOwPa9ATUxDRRTf8O9KqenIiSztTT0eSFTV2ZdOh4IoUXNnUZV7Vbp1e6Krm2Tq+EAK79c0tnT/G0HakpK0Iiae1bTSazV1k1XbAxMbVquCFLH8YzXQB5aN0OVoAlIiIaoUAFdcdPDw57PJwzFVQ5GU9iRnWpK6irqyjG7LpyV6n/S+fWYtfhk9jsKKAxb2qFJw3qo8Mn8cDara7VnwfWbsW59TFX0Q+9gudfDvThopk1ronaRTNrjCtwbZ29uOdX7RhMpLDhI2+z4EFHGqGpRLjfAh9+SvP7WTU7K+ky71lWG7KNQx+vaUXSxO/9iEz89qQzrcqZHNcq1h4fSBir7urtCo72x331eDNdsDGN1xRwZrs4c6YLICyAQkRENHKBCuqiWr8y/Xg0yovC2KWtyu060o+VWiuB+fUxbNT2gxw6GUfrdHcj8Ll15XhLK0awtbsPi5rdQVRVaRSnBocKJTRPKTNOEE0BnOmqf3pPnXPiZCoR7vcKuZ9gze+qmd/0q/UdPWdcbfA7QfS7OsjqlDQa2XrS6e930wrZ81rj+7pYsTGY0nvSHewbwEGtmuaRk3EkHZ+ds2EarylDIP16z/Yzws8YERHRyAUqqLugsQp7HStpFzRWofvYaU8jcFNz70jI23POqa6iGFNjxa70pgtnVGGDFpht6OhBr9b0u/dkHF+/4hy8tu1gpqnw1684B+37jqHv9NAV98qSiCfQ03vZXbewyThB/P6L73sCONNV/2x73kZyhdxvsJYtrWqkDbj9BGxnM0Ecy5TJkZZpp+Dz836/a8U8zwrZtm53y5EFjVV4WauAu+dIv2elblqsGCtapuG9rqF2BdFwKHP+SyorDfxf/3aJZ6ymz3bW8d4+doEY05eJiIhGJlBBnb5/ZEXLNLzqOAZc2YUu9ZUlroAwvd8rre/0YKZYQFrTlDK8tHmv67ZNu3s9JUVDsK/Ua5O1u1bMd/WHumvFfDtdaih1U78i3273mdMnP6YAznTVP9ueNz8BkB6wjGUQdjb3O5vVtbEM1s60ipjtPgz0CACe3LA7czFl9bLmrO93/X1r2n/6Z61Y0p/3HsOqBdNdt7U2VmUKDKV/7jMbd7vuk17J8/PZ9jteIiKiXNKLp0yWwimBCuratcba7fuOefbKZVuM++yFjXj4zaHCKmXRsKvRtxLBDq1J944DfagtL8aJgaG0zNryYvQNDAKOxxZFrTBPn/y0NMRck7WWhhhaGmKuFb3zG6tc+/jSwZs+QVygVZNc0Fhl3Bfjd9VMl62h8EhTLU1Gs7o23oGTn72C2Xr0saIfPblhd+YCTrrAyeplzb4LA+mfs+0H+lx7ea88d6qrmI+zPUe6ImVLQww3LW12rdzdtLTZ92eb6ZFERET5K1BB3XYt6NKPh6OXGI+EQwCGArPGqhLs05qK7zt6Co3Vpeh07LWrryzGVc0NrgDxxsUzjT/zkTd2ugqlPPLGTqz52yW493MLMgFbS0MMb2w76FptM00Qs03oxqoYQbbUq5GmWo6liSiF7ieA/cE1rcb9iqzoR2u1dMm1W/Zn7UGnWzyrBrcsn42X27uxqrUh81k6cjKOt3cdwSWzp+DBmxfiyQ27Pe05TJ+NH37+Y64LQqbPrOmznR6LaYWagd4Q/j6IiCgXAhXUHekfHPY4TU+tDAnw9kfuvWx9WuVMAVASDbtuK4mGff9ME1OvKb3gyVO3X+pZbbv3V+2uxz2zcTduWtrsq99atqvt+sqf7tK5tQiHBKmkQsjRRsAUNPqprmcy0uBsIgInP3sFe/vjxt8tK/rRVQumu1oQXLVguu/3+5MbdmcuEj38Zgeaa8utSrYfWX3e1n90BG2dvca2G6bPhn5uGE3VSaYcu7HXHhER5Uqggrq5Wi8o/ThN6xKAlLJaFjjpxVSO9A/i1svnuvbA3Xr5XDzyxk7X/QYTKbzc3u267eX2btx99fnewEnf4KeUsWLlfZ//mGtiUF9ZAue+u/rKEk/p8te3HcTqZc3GyZUeiGVLDXPa1t2HQfuXMphU2Nbdl32yYmiP4MdIg7OJKoXuZ9XTVLadKWuk723LtkJmen+YVvna9x0zVrY1td1wvkf7Tg3iR7/dBsD9WTf1s/RbiTZfUo7zIZDkyjwREeVKoIK6sqLwsMfDCYtgMGtXKCAaEmsPHKx9eSFYe1UGEu5gcCCRxHUXz3ClX65qbTAGTjOqS13FWWZUl/rqU/X1K87Bqx8eQDIFhEPWsb56d+D4ad8TMz+pYX7Tx0bTHmGkwVmuAqdcFGyhwrV6WbPrM+P3/W5a5dMv4hzqG8j6fnTeZlrlb2mIeYonjaYIUi4Cm3xZIWOvPSKi/KMXTgGCWTwlUEFd+iqx87g0GsKpwaHyKPpxWkhrHSDiXmgqioTw8Bs7M4VWUrDKgV86t9bTfHxlawP+9Q8dSCqrhcLK1gY8+Pu/uJ5/7Zb9mFcfw9uORuPz6mPGipUm4VAIqVQK4ZBVhMVUAMHv5Mo0aRzJfdKvf6STmtEEZ7kKnBiw0Uj5fb+bVvlefNfduy7bHlr9tuKIuzZvcSR0VpUu9dWwbK9hogObfFkh48o8ERHlSqCCuuJI2HM8ozqCHYeGiqDMsAubDDryK6NhQU15EfrjQ4VQqkoiOHpqqIfcTUubjeXAP21oPr6+o8e1wra+o8cYFLU0xPDsxt2ZJuI3LLJ60N3jKJSSLeVJb75914p52N1zMlNMIZ166WdyZZo0juQ+wOgnNQySaLyJyI8AfBZAHMBOAF9TSh21v/ddALfBqpL035RSvx3PsfgtPKKv8qVTL7MdZzNfu5A0vz7mu9JlttWwfEg5zqcVMp7DiIgoFwIV1EW1q9DRSAin4wnXbacHkyiJhDCYHEqbLImEcNeV81z75b696nxPkLS75yTe6xray7Z8bi36TrkLo/SdGsTK1gZEQoLBpELYLiqS/iPvDIraOnsRCoUgqRRC9opbtj5yTtkqMf7srV2IJ1L42Vu7sNKukud3cqVPGkd6H4CTGsp7rwD4rlIqISIPAPgugO+IyAUAbgbQCqARwO9F5FylVHKY5xpTftMITSvzfly/qAn/3taVOXdcb19I8lPpMl9Ww0y4QkZERJNdoII6U6GU3291Nx/fd+w0QuJOtTw1mEJLQwyREDKrZgA8QVKsNJp5jACIlUY9KZ/t+49jZWuDlb8JZf9rcfaLAswrbgAyE6d4lomTn0qME9FKIJt8KFhAlI1S6neOw/UAvmB/fS2Ap5VSAwA+EpEdAC4B8NZ4jcVP02/TZ8jvyrlu8awaPHW7v1YFOr+rYbna38aLSURENJkFKqi7smUafvfBAdfx69sOIu5ItYyExHUMAAm7oEfSzmBKpqzJkmmfSYlWXa7v1KArrbJ1emXWYO1L/7o+89inbjc3+N3W3efqXTdca4Kx6D93NvwEa/lSsIDIp1sBPGN/PQNWkJfWZd82Lvw2/c5Gv0jk10iDH7+rYfm8okdERAR4i6cEoXBKoIK6LfuOeY6rSqM4dCKeua2qNIre/jicW1AiIStt0tnnrba8yJhCqU9q1nf0uJp+x0qjxolZtlYF+vO9sMldAKFde01pfgsWjJXRlDjnhI4mmoj8HkCD4VvfV0r90r7P9wEkADwxgue/A8AdANDc7G+VTGf6rGRr+q3L59WwfNrfRkRENFkEKqjbcaBv2OO0BY1V2OzYG7egsQq//9BdInxjZ68xhdK0Qqb3hjIFWM9rwZrK8nx+Whr4LVgwlkZT4nw8MMWThqOU+tRw3xeRWwBcA+CTSmXq3O4FMNNxtyb7NtPzrwGwBgCWLFlydg0Zbdk+K34+x2dz8WQsPyt+nov724jOTERmAvgFgHpYf+rXKKV+IiJTYGUPzAawC8CNSqleEREAPwFwNYB+ALcopTblYuxEQRSEtgeBCuoGtApwA3bQ41QUCZkDJ61R9ql4wpNCaZqc+C0ycMOiJjz7zh4kkgqRYVoV+GlpkIvVML/B2kRM6JjiSaMhIqsAfBvAFUqpfse3XgLwpIj8GFahlPkA3h6vcYzmszKa/W0APD9zrFOrub+N6IwSAP5eKbVJRGIA2kTkFQC3AHhVKXW/iNwN4G4A3wFwFaxz0nwAywD81P6XiAhAwIK65XNrPdUp23b3uhp8N1aXQrTHFUdCuGnpXFf1yxsXz8TP3trla8XJ7wQmBCtFMzTMffy0NBjtathIrtyfzQR0vCd0TPGkUfo/AIoBvGJd/MZ6pdSdSql2EXkWwAewJlx3jXfly4ne3/bCpi48b6eCO4M8plYTTSyl1H4A++2v+0RkK6w9vNcCuNK+288BvA4rqLsWwC/szIL1IlItItPt5yEiClZQd3wg4Tk+tz6GjY6+TOfWx6AAT9NvUzW5la0NY7bitL6jB4mUslb+7MIspuf009Ig24RuvAuZ5MvVd+7ZodFQSs0b5nv3AbhvAoczYiPZ36YAT2AGw225TK0mmmxEZDaAhQA2AKh3BGrdsNIzASvg2+N4WLqQ06QO6kwpc0STVaCCusN9A57jr19xjqcvEwBjiqPfPmwj4XdC5PdquD6hm0yFTLhnh8gf/bMCAC9s6vKch/IltZposhGRCgDPA/iWUuq4OPbwK6WUiJz1nt2xKORERIUnUEHd1Fix5zhbX6an7lg+7ORkrPdt+Z0QjfRqeL4VMhlv+bJqSJQrftOo9c+K6TyUL6nVRJOJiERhBXRPKKVesG8+kE6rFJHpANJV3Ca0kBMRFZ5ABXXXL2oyrsqZJiJnmpzkakVrpFfD86mQCRGNr7FOo2awRjSx7GqWjwHYqpT6seNbLwH4KoD77X9/6bj9GyLyNKwCKce4n46InAIV1GVblRuJsV7RGu/KcflUyISIxlcQ0qiJJrnLAHwFwPsistm+7XuwgrlnReQ2AJ0AbrS/9xtY7Qx2wGpp8LUJHS0R5b1ABXWA/4DlyQ27XUVRTM8zlitaEzEJY7BGNDkEJY2aaLJSSv0R8BTjTvuk4f4KwF3jOigictEL8eR737rABXUm+t6TJzfszrQv+MP2wwCsIin6/UYTJOnPxUkYEY0VplETERGRU+CDOlPa49ot7jT0tVv2o6UhNmaFUbKlWnISRkRjhSvzREREE8fUQiOfVu+G64MdCKa0x6sWTHfd56oF0433G8ufCViTsLtWzONErAC0dfbioXU70NbZe+Y7ExERERHlUOBW6vymPYZDQDJl/dvSEAMAREKCwaRCOCSjSo9kqmVhG+t2FkRERERE4ylQQV22yfgPrmnNFEVZPKsG33/xfSRT1mOSKasZ7/WLmpACoACkRjkOploWNlYWpPHgt68cERERFYZ8KqYSqKAuW9rjvb9uRzyRwsZdR9DSEMPBvgHX4w72DeD5TV1IJK0enYmkwvObukbdbJwTt8LElVYaa1z9JSIiovEUqKDONBk3BXp6DWGBt65wtjrDfvGqfOHiSiuNtSCv/vJcR0RElHuBCuqyTcb1QG/v0VOux9XFinH9oib8e1tX5n7XL2oa8Th4Vb7wcaWVxlJQV395riMiIsoPgQrqTLIFes+9sweDSYVoWHDDoiYsnlWDp24fm9WZIF+VJ6KzF9TVX57riIiIhuSy7UGggrpsV431VZfFs2pw62Vz8HJ7N1a1NmS+N1arM0G9Kk9EIxfE1V+e64iIiPLDuAZ1IjITwC8A1MMqLLlGKfUTEZkC4BkAswHsAnCjUmrUDcH8XjV+csNuPPxmBwDg4Tc70FxbjtXLmkf74zOCelWeiMiJ5zoiIqL8MN4rdQkAf6+U2iQiMQBtIvIKgFsAvKqUul9E7gZwN4DvjPaH+b1qvHbLfs+xKagbTQGAIF6VJ6LCN9aFTXiuIyIiyr1xDeqUUvsB7Le/7hORrQBmALgWwJX23X4O4HWMQVDn96rxVQum4w/bD7uOdSwAQERBw/MaERFRME3YnjoRmQ1gIYANAOrtgA8AumGlZ5oecweAOwCgudlfeqSfq8bpVbl0Q3LTKh0LABBR0PC8RkSFylSAgoiGTEhQJyIVAJ4H8C2l1HGRoS5wSiklIsr0OKXUGgBrAGDJkiXG+4zU6mXNw+6jYwEAIgoanteIiIgmln5BYryqYY57UCciUVgB3RNKqRfsmw+IyHSl1H4RmQ7g4HiP42yxAAARBQ3Pa0RERME03tUvBcBjALYqpX7s+NZLAL4K4H7731+O5zhGigUAiChoeF4jokLAdEsKqvHqZTfeK3WXAfgKgPdFZLN92/dgBXPPishtADoB3DjO4yAiIiIiIgqk8a5++UcAkuXbnxzPn01ERERERDQZhHI9ACIiIiIiIho5BnVEREREREQFbML61BERERER6VgUhWj0uFJHREREVABEZJWIbBORHSJyd67HQ0T5gyt1RERERHlORMIAHgKwEkAXgI0i8pJS6oPcjuzscWWOaOwxqCMiIiLKf5cA2KGU6gAAEXkawLUA8jqoYwBHNDEY1BERERHlvxkA9jiOuwAsG68f5qdBMgM2ovxRMEFdW1vbYRHpHOOnrQNweIyfcyIV+vgBvoZ8kMvxz8rRzx0zPDdlVeivodDHD/A1jEbBnptE5A4Ad9iHJ0Rkm/31qH+X8sBoHp1VPr9PObazl6/jAvJ4bPLAWY3NeH4qmKBOKTV1rJ9TRN5RSi0Z6+edKIU+foCvIR8U+vhzjecms0J/DYU+foCvIYD2ApjpOG6yb3NRSq0BsEa/PV9/l/k6LoBjG4l8HRcQ/LGx+iURERFR/tsIYL6IzBGRIgA3A3gpx2MiojxRMCt1RERERJOVUiohIt8A8FsAYQCPK6XaczwsIsoTkz2o86QnFJhCHz/A15APCn38QRSE/yeF/hoKffwAX0PgKKV+A+A3I3x4vv4u83VcAMc2Evk6LiDgYxOl1FgMhIiIiIiIiHKAe+qIiIiIiIgK2KQI6kRkpoisE5EPRKRdRL5p3z5FRF4Rke32vzW5Hms2IlIiIm+LyHv2a/jv9u1zRGSDiOwQkWfszdN5S0TCIvKuiPzaPi608e8SkfdFZLOIvGPfVjDvIwAQkWoReU5EPhSRrSKyvNBeQ5AU+vkpKOcmgOenXOO5aXyJyP8QkT/b74/fiUhjrseUJiI/sv+//1lEXhSR6lyPKU1Evmif21IikvPKiSKySkS22eelu3M9njQReVxEDorIllyPxSnb39h8kO3v50hNiqAOQALA3yulLgBwKYC7ROQCAHcDeFUpNR/Aq/ZxvhoA8Aml1EUALgawSkQuBfAAgH9RSs0D0AvgttwN0ZdvAtjqOC608QPACqXUxY7Ss4X0PgKAnwB4WSl1HoCLYP3/KLTXECSFfn4KyrkJ4Pkp13huGl8/UkpdqJS6GMCvAfwgx+NxegXAAqXUhQD+AuC7OR6P0xYA1wN4M9cDEZEwgIcAXAXgAgBfsv9e5IOfAViV60EYZPsbmw+y/f0ckUkR1Cml9iulNtlf98H6QzEDwLUAfm7f7ecArsvJAH1QlhP2YdT+TwH4BIDn7Nvz+jWISBOAvwHwqH0sKKDxD6Ng3kciUgXg4wAeAwClVFwpdRQF9BqCptDPT0E4NwE8P+Uaz03jTyl13HFYDutzmheUUr9TSiXsw/WwevDlBaXUVqXUtjPfc0JcAmCHUqpDKRUH8DSsz0jOKaXeBHAk1+PQDfM3NueG+fs5IpMiqHMSkdkAFgLYAKBeKbXf/lY3gPpcjcsPOzVoM4CDsK5q7QRw1HEi7EKevFGzeBDAtwGk7ONaFNb4AevD9jsRaRORO+zbCul9NAfAIQD/104ze1REylFYryGwCvX8FIBzE8DzU67x3DQBROQ+EdkD4MvIr5U6p1sBrM31IPLUDAB7HMeFcF7KG9rf2Lyg//1USo14bJMqqBORCgDPA/iWdsUKyioDmjdXrUyUUkk7baIJ1tWa83I7Iv9E5BoAB5VSbbkeyyhdrpRaBCv14S4R+bjzmwXwPooAWATgp0qphQBOQktnKoDXEEiFfH4q5HMTwPNTnuC5aQyIyO9FZIvhv2sBQCn1faXUTABPAPhGPo3Nvs/3YaXLPZFvY6PCNtzf2FzS/36KyIKRPtek6VMnIlFY/zOfUEq9YN98QESmK6X2i8h0WFFy3lNKHRWRdQCWA6gWkYh9NbkJwN7cji6rywB8TkSuBlACoBLW/olCGT8AQCm11/73oIi8CGsCW0jvoy4AXY4rQc/BmjgV0msInKCcnwr03ATw/JQPeG4aA0qpT/m86xOw+t394zgOx+VMYxORWwBcA+CTdgA/Yc7i95ZrewHMdBzn/XkpH2T5G5tXHH8/V8Hax3nWJsVKnb034jEAW5VSP3Z86yUAX7W//iqAX0702PwSkanpalAiUgpgJay84HUAvmDfLW9fg1Lqu0qpJqXUbAA3A3hNKfVlFMj4AUBEykUklv4awKdhffAK5n2klOoGsEdEWuybPgngAxTQawiaQj8/Ffq5CeD5KR/w3DT+RGS+4/BaAB/maiw6EVkFK/35c0qp/lyPJ49tBDBfrMq8RbDOVy/leEx5bZi/sTmX5e/niD+Xk6L5uIhcDuAPAN7H0H6J78HKqX0WQDOATgA3KqXybpMnAIjIhbA2iYdhBePPKqXuFZG5sDbKTgHwLoD/opQayN1Iz0xErgTwD0qpawpp/PZYX7QPIwCeVErdJyK1KJD3EQCIyMWwikEUAegA8DXY7ykUyGsIkkI/PwXp3ATw/JRLPDeNLxF5HkALrPNMJ4A706u7uSYiOwAUA+ixb1qvlLozh0PKEJHPA/jfAKYCOApgs1LqMzkcz9Ww9gCHATyulLovV2NxEpGnAFwJoA7AAQD/qJR6LKeDQva/sUqp3+RuVJZsfz9H/HyTIagjIiIiIiIKqkmRfklERERERBRUDOqIiIiIiIgKGIM6IiIiIiKiAsagjoiIiIiIqIAxqCMiIiIiIipgDOqIiIiIiIgKGIM6IiIiIiKiAsagjvKCiNwrIt9yHN8nIt/M4ZCIiADw/ERE+UlE7hSRzfZ/H4nIulyPiXKHzccpL4jIbAAvKKUWiUgIwHYAlyilenI7MiKa7Hh+IqJ8JiJRAK8B+Cel1K9yPR7KjUiuB0AEAEqpXSLSIyILAdQDeJcTJiLKBzw/EVGe+wmA1xjQTW4M6iifPArgFgANAB7P7VCIiFx4fiKivCMitwCYBeAbOR4K5RjTLylviEgRgPcBRAHMV0olczwkIiIAPD8RUf4RkcUAfg7gr5VSvbkeD+UWV+oobyil4vYm36OcMBFRPuH5iYjy0DcATAGwTkQA4B2l1H/N7ZAoV7hSR3nDLkCwCcAXlVLbcz0eIqI0np+IiCifsaUB5QURuQDADgCvcsJERPmE5yciIsp3XKkjIiIiIiIqYFypIyIiIiIiKmAM6oiIiIiIiAoYgzoiIiIiIqICxqCOiIiIiIiogDGoIyIiIiIiKmAM6oiIiIiIiArY/wfC5PXbTySA+gAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1080x360 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 通过岭回归模型找出异常值，并绘制其分布\n",
    "from sklearn.linear_model import Ridge\n",
    "from sklearn.metrics import mean_squared_error\n",
    "X_train = test_data.iloc[:,0:-1]\n",
    "y_train = test_data.iloc[:,-1]\n",
    "outliers = find_outliers(Ridge(),X_train,y_train)\n",
    "outlier_index = list(outliers)\n",
    "\n",
    "outlier_sum = np.sum(train_data.iloc[outlier_index]['loan_default'].values)\n",
    "print(outlier_sum/len(outlier_index)*100)\n",
    "\n",
    "test_data.drop(labels=outlier_index,inplace=True)\n",
    "test_data = test_data.reset_index(drop=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3ac2222f",
   "metadata": {},
   "outputs": [],
   "source": [
    "train_cols = 6\n",
    "train_rows = len(train_data.columns)\n",
    "plt.figure(figsize=(4*train_cols,4*train_rows))\n",
    "\n",
    "i = 0\n",
    "for col in train_data.columns:\n",
    "    i+=1\n",
    "    ax = plt.subplot(train_rows,train_cols,i)\n",
    "    sns.distplot(train_data[col],fit=stats.norm)\n",
    "\n",
    "    i+=1\n",
    "    ax = plt.subplot(train_rows,train_cols,i)\n",
    "    stats.probplot(train_data[col],plot=plt)\n",
    "\n",
    "# tight_layout会自动调整子图参数，使之填充整个图像区域\n",
    "plt.tight_layout()\n",
    "plt.savefig('analysis_results/Q-Q.png')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1e718481",
   "metadata": {},
   "outputs": [],
   "source": [
    "dist_cols = 6\n",
    "dist_rows = len(test_data.columns)\n",
    "plt.figure(figsize=(4*dist_cols,4*dist_rows))\n",
    "i = 1\n",
    "for col in test_data.columns:\n",
    "    ax = plt.subplot(dist_rows,dist_cols,i)\n",
    "    ax = sns.kdeplot(train_data[col],color='Red',shade=True)\n",
    "    ax = sns.kdeplot(test_data[col],color='Blue',shade=True)\n",
    "    ax.set_xlabel(col)\n",
    "    ax.set_ylabel('Frequency')\n",
    "    ax = ax.legend(['train','test'])\n",
    "    i+=1\n",
    "plt.savefig('analysis_results/KDE.png')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "36f07f61",
   "metadata": {},
   "outputs": [],
   "source": [
    "fcols = 6\n",
    "frows = len(test_data.columns)\n",
    "plt.figure(figsize=(5*fcols,4*frows))\n",
    "\n",
    "i = 0\n",
    "for col in test_data.columns:\n",
    "    i+=1\n",
    "    ax=plt.subplot(frows,fcols,i)\n",
    "    sns.regplot(x=col,y='loan_default',data=train_data,ax=ax,\n",
    "               scatter_kws={'marker':'.','s':3,'alpha':0.3},line_kws={'color':'k'});\n",
    "    plt.xlabel(col)\n",
    "    plt.ylabel('loan_default')\n",
    "    \n",
    "    i+=1\n",
    "    ax = plt.subplot(frows,fcols,i)\n",
    "    \n",
    "    sns.distplot(train_data[col].dropna())\n",
    "    plt.xlabel(col)\n",
    "    \n",
    "plt.tight_layout()\n",
    "plt.savefig('analysis_results/linear_regression_for_each_feature.png')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "630b757d",
   "metadata": {},
   "outputs": [],
   "source": [
    "k = 10#len(train_data.columns)\n",
    "train_corr = train_data.corr()\n",
    "cols = train_corr.nlargest(k,'loan_default')['loan_default'].index\n",
    "\n",
    "cm = np.corrcoef(train_data[cols].values.T)\n",
    "hm = plt.subplots(figsize=(k,k))\n",
    "hm = sns.heatmap(train_data[cols].corr(),annot=True,square=True)\n",
    "plt.savefig('analysis_results/10-most-relavant.png')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "96dee115",
   "metadata": {},
   "outputs": [],
   "source": [
    "threshold = 0.5\n",
    "k = len(train_data.columns)\n",
    "corrmat = train_data.corr()\n",
    "top_corr_features = corrmat.index[abs(corrmat['loan_default'])>threshold]\n",
    "plt.figure(figsize=(k,k))\n",
    "g = sns.heatmap(train_data[top_corr_features].corr(),annot=True,cmap='RdYlGn')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "f618b33a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "f1: 0.45146190275923864\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection  import train_test_split\n",
    "from sklearn import linear_model\n",
    "from sklearn.metrics import f1_score\n",
    "def calculate_f1(model):\n",
    "    y_pred = model.predict(X_test)\n",
    "    y_true = y_test\n",
    "    score = f1_score(y_true, y_pred, average='macro')\n",
    "    return score\n",
    "#划分数据集\n",
    "labels = train_data['loan_default'].values\n",
    "features_scaler = train_data.drop(['loan_default'],axis=1).values\n",
    "X_train,X_test, y_train, y_test = train_test_split(features_scaler, labels, test_size = 0.2, random_state = 0)\n",
    "#训练逻辑回归模型\n",
    "model = linear_model.LogisticRegression(n_jobs=-1)\n",
    "model = model.fit(X_train, y_train)\n",
    "print(\"f1:\",calculate_f1(model))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "e8749614",
   "metadata": {},
   "outputs": [],
   "source": [
    "numerical_noserial_fea.pop()\n",
    "#合并训练集和测试集\n",
    "train_x = train_data.drop(['loan_default'],axis=1)\n",
    "train_x['flag'] = 'train'\n",
    "test_data['flag'] = 'test'\n",
    "\n",
    "data_all = pd.concat([train_x,test_data],axis=0,ignore_index=True)\n",
    "data_all.drop(numerical_noserial_fea,axis=1,inplace=True)\n",
    "\n",
    "# 归一化\n",
    "cols_numeric = [i for i in list(data_all.columns) if i!='flag']\n",
    "\n",
    "def scale_minmax(col):\n",
    "    return (col-col.min())/(col.max()-col.min())\n",
    "\n",
    "data_all[cols_numeric] = data_all[cols_numeric].apply(scale_minmax,axis=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "5f0bbfcc",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "There are 0 columns in train dataset with missing values.\n"
     ]
    }
   ],
   "source": [
    "print(f'There are {data_all.isnull().any().sum()} columns in train dataset with missing values.')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4944e63b",
   "metadata": {},
   "outputs": [],
   "source": [
    "train_data_process['loan_default'] = train_data['loan_default']\n",
    "print(f'There are {train_data.isnull().any().sum()} columns in train dataset with missing values.')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "5e35d682",
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'train_data_process' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-20-7adcff3d8cfe>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mtrain_data_process\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m: name 'train_data_process' is not defined"
     ]
    }
   ],
   "source": [
    "train_data_process"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "10b495b3",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "There are 0 columns in train dataset with missing values.\n",
      "There are 0 columns in train dataset with missing values.\n"
     ]
    }
   ],
   "source": [
    "train_data_process = data_all[data_all['flag']=='train']\n",
    "train_data_process.drop(['flag'],axis=1,inplace=True)\n",
    "print(f'There are {train_data_process.isnull().any().sum()} columns in train dataset with missing values.')\n",
    "train_data_process = pd.concat([train_data_process,train_data['loan_default']],axis=1)\n",
    "print(f'There are {train_data_process.isnull().any().sum()} columns in train dataset with missing values.')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "2d8182cd",
   "metadata": {},
   "outputs": [],
   "source": [
    "test_data_process = data_all[data_all['flag']=='test']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "7ed3e39c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "f1: 0.4523726338365656\n"
     ]
    }
   ],
   "source": [
    "def calculate_f1(model):\n",
    "    y_pred = model.predict(X_test)\n",
    "    y_true = y_test\n",
    "    score = f1_score(y_true, y_pred, average='macro')\n",
    "    return score\n",
    "#划分数据集\n",
    "labels = train_data_process['loan_default'].values\n",
    "features_scaler = train_data_process.drop(['loan_default'],axis=1).values\n",
    "X_train,X_test, y_train, y_test = train_test_split(features_scaler, labels, test_size = 0.2, random_state = 0)\n",
    "#训练逻辑回归模型\n",
    "model = linear_model.LogisticRegression(n_jobs=-1)\n",
    "model = model.fit(X_train, y_train)\n",
    "print(\"f1:\",calculate_f1(model))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "37e7eaed",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "297689a5",
   "metadata": {},
   "outputs": [],
   "source": [
    "test_data_process\n",
    "print(f'There are {test_data_process.isnull().any().sum()} columns in train dataset with missing values.')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
